|
8035
|
NULL
|
0
|
2026-04-13T16:50:30.312857+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-13/1776 /Users/lukas/.screenpipe/data/data/2026-04-13/1776099030312_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"value":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.12291667,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.12708333,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.24583334,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.25,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.36875,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.37291667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6145833,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.61875,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7375,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.7416667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.86041665,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.8645833,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-694452926232979356
|
5684305770677006035
|
visual_change
|
accessibility
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
8036
|
NULL
|
0
|
2026-04-13T16:50:32.920330+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-13/1776 /Users/lukas/.screenpipe/data/data/2026-04-13/1776099032920_m2.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"value":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.23320313,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.23554687,"top":1.0,"width":0.00625,"height":-0.039583325},"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.30234376,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.3046875,"top":1.0,"width":0.00625,"height":-0.039583325},"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.37148437,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.3738281,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.440625,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.44296876,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5097656,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.5121094,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.57890624,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.58125,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.64804685,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.6503906,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.7171875,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.71953124,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7703125,"top":1.0,"width":0.021875,"height":-0.02013886},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.5078125,"top":1.0,"width":0.012890625,"height":-0.020833373},"role_description":"text"}]...
|
-694452926232979356
|
5684305770677006035
|
idle
|
accessibility
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
8033
|
|
8037
|
152
|
0
|
2026-04-14T06:23:20.487451+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776147800487_m1.jpg...
|
Slack
|
releases (Channel) - Jiminny Inc - Slack
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Adelina Petrova
,
Ilian Kyuchukov
,
Steliyan Georgiev
Adelina Petrova
Galya Dimitrova
Vasil Vasilev
Nikolay Nikolov
Galya Dimitrova
,
Nikolay Nikolov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
,
Nikolay Yankov
Nikolay Yankov
Jira Cloud
Toast
Google Calendar
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Apr 9th at 3:35:48 PM
3:35 PM
3 new commits
3 new commits
pushed to
master
master
by
jamesgraham
jamesgraham
9063957e
9063957e
- Fix Aircall (and other org providers) OAuth callback redirecting to 404
7fc05468
7fc05468
- Merge branch 'master' into SRD-6756-aircall-callback-fix
5dfb40ab
5dfb40ab
- Merge pull request #11929 from jiminny/SRD-6756-aircall-callback-fix
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
GitHub
APP
Apr 9th at 3:57:59 PM
3:57 PM
20 new commits
20 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
a639ddbd
a639ddbd
- JY-20526: Fix kiosk transcription
ead2462d
ead2462d
- JY-20526: Fix Separation by speaker for AssemblyAI
811dd7f4
811dd7f4
- Merge branch 'master' into JY-20526-paragraph-breaker
b5e74a20
b5e74a20
- JY-20602: Fix questions
9707d4e8
9707d4e8
- Merge remote-tracking branch 'origin/JY-20526-paragraph-breaker' into JY-20526-paragraph-breaker
Show more
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Apr 9th at 4:01:58 PM
4:01 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 13:01:57
Tag
:
View Job
View Job
GitHub
APP
Apr 9th at 4:14:16 PM
4:14 PM
3 new commits
3 new commits
pushed to
master
master
by
ilian-jiminny
ilian-jiminny
f6b8ef15
f6b8ef15
- new-dialpad-jwt-key Changed dialpad verification tokens
039b6442
039b6442
- Merge branch 'master' into new-dialpad-jwt-key
3eaab095
3eaab095
- Merge pull request #11938 from jiminny/new-dialpad-jwt-key
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Apr 9th at 4:24:28 PM
4:24 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 13:24:27
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
CircleCI
APP
Apr 9th at 4:42:09 PM
4:42 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 13:42:09
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
GitHub
APP
Apr 9th at 4:44:59 PM
4:44 PM
2 new commits
2 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
431bad3d
431bad3d
- JY-20526: Hotfix
afda587a
afda587a
- Merge pull request #11942 from jiminny/JY-20526-hotfix
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
CircleCI
APP
Apr 9th at 5:11:22 PM
5:11 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 14:11:22
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
GitHub
APP
Apr 9th at 7:07:11 PM
7:07 PM
3 new commits
3 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
a3a45d3a
a3a45d3a
- JY-20634: Fix legacy sentence segments
eacdcce0
eacdcce0
- JY-20634: Add comments
09c3f776
09c3f776
- Merge pull request #11943 from jiminny/JY-20634-transcription-issue-timings
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
CircleCI
APP
Apr 9th at 7:33:52 PM
7:33 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 16:33:51
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
loading…...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Jiminny Inc","depth":12,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Jiminny (Staging)","depth":12,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add workspaces","depth":12,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Ilian Kyuchukov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Bookmarks","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Bookmarks","depth":19,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"GitHub","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 3:35:48 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:35 PM","depth":24,"role_description":"text"},{"role":"AXLink","text":"3 new commits","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3 new commits","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"role_description":"text"},{"role":"AXLink","text":"jamesgraham","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jamesgraham","depth":24,"role_description":"text"},{"role":"AXLink","text":"9063957e","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9063957e","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Fix Aircall (and other org providers) OAuth callback redirecting to 404","depth":25,"role_description":"text"},{"role":"AXLink","text":"7fc05468","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"7fc05468","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge branch 'master' into SRD-6756-aircall-callback-fix","depth":25,"role_description":"text"},{"role":"AXLink","text":"5dfb40ab","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"5dfb40ab","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge pull request #11929 from jiminny/SRD-6756-aircall-callback-fix","depth":25,"role_description":"text"},{"role":"AXLink","text":"jiminny/app","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"role_description":"text"},{"role":"AXButton","text":"GitHub","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 3:57:59 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:57 PM","depth":24,"role_description":"text"},{"role":"AXLink","text":"20 new commits","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20 new commits","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"role_description":"text"},{"role":"AXLink","text":"mihailmihaylovjiminny","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"mihailmihaylovjiminny","depth":24,"role_description":"text"},{"role":"AXLink","text":"a639ddbd","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"a639ddbd","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20526: Fix kiosk transcription","depth":25,"role_description":"text"},{"role":"AXLink","text":"ead2462d","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"ead2462d","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20526: Fix Separation by speaker for AssemblyAI","depth":25,"role_description":"text"},{"role":"AXLink","text":"811dd7f4","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"811dd7f4","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge branch 'master' into JY-20526-paragraph-breaker","depth":25,"role_description":"text"},{"role":"AXLink","text":"b5e74a20","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"b5e74a20","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20602: Fix questions","depth":25,"role_description":"text"},{"role":"AXLink","text":"9707d4e8","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9707d4e8","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge remote-tracking branch 'origin/JY-20526-paragraph-breaker' into JY-20526-paragraph-breaker","depth":25,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"jiminny/app","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"role_description":"text"},{"role":"AXButton","text":"CircleCI","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 4:01:58 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:01 PM","depth":24,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": 04/09/2026 13:01:57","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"role_description":"text"},{"role":"AXButton","text":"GitHub","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 4:14:16 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:14 PM","depth":24,"role_description":"text"},{"role":"AXLink","text":"3 new commits","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3 new commits","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"role_description":"text"},{"role":"AXLink","text":"ilian-jiminny","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"ilian-jiminny","depth":24,"role_description":"text"},{"role":"AXLink","text":"f6b8ef15","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"f6b8ef15","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- new-dialpad-jwt-key Changed dialpad verification tokens","depth":25,"role_description":"text"},{"role":"AXLink","text":"039b6442","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"039b6442","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge branch 'master' into new-dialpad-jwt-key","depth":25,"role_description":"text"},{"role":"AXLink","text":"3eaab095","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3eaab095","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge pull request #11938 from jiminny/new-dialpad-jwt-key","depth":25,"role_description":"text"},{"role":"AXLink","text":"jiminny/app","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"role_description":"text"},{"role":"AXButton","text":"CircleCI","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 4:24:28 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:24 PM","depth":24,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": 04/09/2026 13:24:27","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"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,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"CircleCI","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 4:42:09 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:42 PM","depth":24,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": 04/09/2026 13:42:09","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"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,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"GitHub","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 4:44:59 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:44 PM","depth":24,"role_description":"text"},{"role":"AXLink","text":"2 new commits","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2 new commits","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"role_description":"text"},{"role":"AXLink","text":"mihailmihaylovjiminny","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"mihailmihaylovjiminny","depth":24,"role_description":"text"},{"role":"AXLink","text":"431bad3d","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"431bad3d","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20526: Hotfix","depth":25,"role_description":"text"},{"role":"AXLink","text":"afda587a","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"afda587a","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge pull request #11942 from jiminny/JY-20526-hotfix","depth":25,"role_description":"text"},{"role":"AXLink","text":"jiminny/app","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"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,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"CircleCI","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 5:11:22 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"5:11 PM","depth":24,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": 04/09/2026 14:11:22","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"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,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"GitHub","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 7:07:11 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"7:07 PM","depth":24,"role_description":"text"},{"role":"AXLink","text":"3 new commits","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3 new commits","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"role_description":"text"},{"role":"AXLink","text":"mihailmihaylovjiminny","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"mihailmihaylovjiminny","depth":24,"role_description":"text"},{"role":"AXLink","text":"a3a45d3a","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"a3a45d3a","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20634: Fix legacy sentence segments","depth":25,"role_description":"text"},{"role":"AXLink","text":"eacdcce0","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"eacdcce0","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20634: Add comments","depth":25,"role_description":"text"},{"role":"AXLink","text":"09c3f776","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"09c3f776","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"- Merge pull request #11943 from jiminny/JY-20634-transcription-issue-timings","depth":25,"role_description":"text"},{"role":"AXLink","text":"jiminny/app","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"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,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"CircleCI","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 7:33:52 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"7:33 PM","depth":24,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": 04/09/2026 16:33:51","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"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,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":23,"value":"","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"loading…","depth":11,"role_description":"text"}]...
|
-7696147061697387654
|
-3010351989886366627
|
manual
|
hybrid
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Adelina Petrova
,
Ilian Kyuchukov
,
Steliyan Georgiev
Adelina Petrova
Galya Dimitrova
Vasil Vasilev
Nikolay Nikolov
Galya Dimitrova
,
Nikolay Nikolov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
,
Nikolay Yankov
Nikolay Yankov
Jira Cloud
Toast
Google Calendar
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Apr 9th at 3:35:48 PM
3:35 PM
3 new commits
3 new commits
pushed to
master
master
by
jamesgraham
jamesgraham
9063957e
9063957e
- Fix Aircall (and other org providers) OAuth callback redirecting to 404
7fc05468
7fc05468
- Merge branch 'master' into SRD-6756-aircall-callback-fix
5dfb40ab
5dfb40ab
- Merge pull request #11929 from jiminny/SRD-6756-aircall-callback-fix
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
GitHub
APP
Apr 9th at 3:57:59 PM
3:57 PM
20 new commits
20 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
a639ddbd
a639ddbd
- JY-20526: Fix kiosk transcription
ead2462d
ead2462d
- JY-20526: Fix Separation by speaker for AssemblyAI
811dd7f4
811dd7f4
- Merge branch 'master' into JY-20526-paragraph-breaker
b5e74a20
b5e74a20
- JY-20602: Fix questions
9707d4e8
9707d4e8
- Merge remote-tracking branch 'origin/JY-20526-paragraph-breaker' into JY-20526-paragraph-breaker
Show more
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Apr 9th at 4:01:58 PM
4:01 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 13:01:57
Tag
:
View Job
View Job
GitHub
APP
Apr 9th at 4:14:16 PM
4:14 PM
3 new commits
3 new commits
pushed to
master
master
by
ilian-jiminny
ilian-jiminny
f6b8ef15
f6b8ef15
- new-dialpad-jwt-key Changed dialpad verification tokens
039b6442
039b6442
- Merge branch 'master' into new-dialpad-jwt-key
3eaab095
3eaab095
- Merge pull request #11938 from jiminny/new-dialpad-jwt-key
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Apr 9th at 4:24:28 PM
4:24 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 13:24:27
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
CircleCI
APP
Apr 9th at 4:42:09 PM
4:42 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 13:42:09
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
GitHub
APP
Apr 9th at 4:44:59 PM
4:44 PM
2 new commits
2 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
431bad3d
431bad3d
- JY-20526: Hotfix
afda587a
afda587a
- Merge pull request #11942 from jiminny/JY-20526-hotfix
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
CircleCI
APP
Apr 9th at 5:11:22 PM
5:11 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 14:11:22
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
GitHub
APP
Apr 9th at 7:07:11 PM
7:07 PM
3 new commits
3 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
a3a45d3a
a3a45d3a
- JY-20634: Fix legacy sentence segments
eacdcce0
eacdcce0
- JY-20634: Add comments
09c3f776
09c3f776
- Merge pull request #11943 from jiminny/JY-20634-transcription-issue-timings
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
CircleCI
APP
Apr 9th at 7:33:52 PM
7:33 PM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 04/09/2026 16:33:51
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
loading…
iTerm2• 0DOCKER• 881use pii removaluse all monitorsignored windowsincluded windowscloud syncauto-destruct piddeepgram keylanguagesShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zshInh100% <47Tue 14 Apr 9:23:21T81₴7* Unable to acce...O x8DEV (-zsh)truetruedisablednot setO 82APP (-zsh)• *3-zsh• ×4-zsh• 28586-zshall languagesmonitorsid: 1id: 2audio devicesdisabledyou 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/releases2026-04-14T09:23:19.025225ZINFOscreenpipe:starting UIevent capture2026-04-14T09:23:19.024042ZINFOscreenpipe_core::p1pes:pipe schedulerstarted (generation 2)2026-04-14709:23:19.0344602WARNscreenpipe: piagent install failed: bun not found- installfrom https://bun.sh2026-04-14T09:23:19.035048ZINFOscreenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-14T09:23:19.057947ZINFOscreenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd492026-04-14709:23:19.0580642INFOscreenpipe_engine::calendar_speaker_id: speaker identification: started(user_name=<not set>)2026-04-14T09:23:19.058114ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-13 06:23:19.058103 UTC to 2026-04-1406:23:19.058103 UTC)2026-04-14T09:23:19.062532ZINFOscreenpipe_engine: :meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-14709:23:19.0665512INFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-14T09:23:19.080775ZINFOscreenpipe_connect: :mdns: mdns: advertising screenpipe onport 30302026-04-14T09:23:19.697314ZINFO2026-04-14T09:23:19.985445Zscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTCINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)2026-04-14709:23:20.492664ZINFO2026-04-14T09:23:20.492694ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)2026-04-14T09:23:20.492726ZINFO screenpipe_engine::event_driven_capture: event-driven capture startedfor monitor 2 (device: monitor_2)2026-04-14109:23:21.3132462INFO sck_rs::stream_manager:persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)...
|
NULL
|
|
8038
|
153
|
0
|
2026-04-14T06:23:20.994555+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776147800994_m2.jpg...
|
Slack
|
releases (Channel) - Jiminny Inc - Slack
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Adelina Petrova
,
Ilian Kyuchukov
,
Steliyan Georgiev
Adelina Petrova
Galya Dimitrova
Vasil Vasilev
Nikolay Nikolov
Galya Dimitrova
,
Nikolay Nikolov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
,
Nikolay Yankov
Nikolay Yankov
Jira Cloud
Toast
Google Calendar
loading…
Channel...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Jiminny Inc","depth":12,"bounds":{"left":0.00546875,"top":0.05486111,"width":0.0125,"height":0.022222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Jiminny (Staging)","depth":12,"bounds":{"left":0.00546875,"top":0.09097222,"width":0.0125,"height":0.022222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add workspaces","depth":12,"bounds":{"left":0.00546875,"top":0.12708333,"width":0.0125,"height":0.022222223},"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.026953125,"top":0.048611112,"width":0.020703126,"height":0.047222223},"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.03125,"top":0.08125,"width":0.012109375,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.026953125,"top":0.09583333,"width":0.020703126,"height":0.047222223},"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.032421876,"top":0.12847222,"width":0.009765625,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.026953125,"top":0.14305556,"width":0.020703126,"height":0.047222223},"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.0296875,"top":0.17569445,"width":0.015234375,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.026953125,"top":0.19027779,"width":0.020703126,"height":0.047222223},"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.0328125,"top":0.22291666,"width":0.008984375,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.026953125,"top":0.2375,"width":0.020703126,"height":0.047222223},"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.03203125,"top":0.2701389,"width":0.010546875,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.026953125,"top":0.2847222,"width":0.020703126,"height":0.047222223},"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.03203125,"top":0.31736112,"width":0.010546875,"height":0.009027778},"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":20,"bounds":{"left":0.06679688,"top":0.0875,"width":0.021484375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":20,"bounds":{"left":0.06679688,"top":0.10694444,"width":0.020703126,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":20,"bounds":{"left":0.06679688,"top":0.12638889,"width":0.021484375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":20,"bounds":{"left":0.06679688,"top":0.14583333,"width":0.034375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":20,"bounds":{"left":0.06679688,"top":0.16527778,"width":0.028515626,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":22,"bounds":{"left":0.07304688,"top":0.24722221,"width":0.05234375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":22,"bounds":{"left":0.07304688,"top":0.29305556,"width":0.026171874,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":22,"bounds":{"left":0.07304688,"top":0.3125,"width":0.014453125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":22,"bounds":{"left":0.07304688,"top":0.33194444,"width":0.021484375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":22,"bounds":{"left":0.07304688,"top":0.3513889,"width":0.040625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":22,"bounds":{"left":0.07304688,"top":0.37083334,"width":0.032421876,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":22,"bounds":{"left":0.07304688,"top":0.39027777,"width":0.03046875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":22,"bounds":{"left":0.07304688,"top":0.4097222,"width":0.02265625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"general","depth":22,"bounds":{"left":0.07304688,"top":0.42916667,"width":0.019140625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":22,"bounds":{"left":0.07304688,"top":0.4486111,"width":0.034765624,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":22,"bounds":{"left":0.07304688,"top":0.46805555,"width":0.02734375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":22,"bounds":{"left":0.07304688,"top":0.4875,"width":0.041015625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":22,"bounds":{"left":0.07304688,"top":0.5069444,"width":0.0453125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"random","depth":22,"bounds":{"left":0.07304688,"top":0.5263889,"width":0.019921875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":22,"bounds":{"left":0.07304688,"top":0.54583335,"width":0.020703126,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":22,"bounds":{"left":0.07304688,"top":0.56527776,"width":0.02890625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"support","depth":22,"bounds":{"left":0.07304688,"top":0.5847222,"width":0.0203125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":22,"bounds":{"left":0.07304688,"top":0.6041667,"width":0.02890625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":22,"bounds":{"left":0.07304688,"top":0.6236111,"width":0.053125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"bounds":{"left":0.07304688,"top":0.66944444,"width":0.044921875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":22,"bounds":{"left":0.07304688,"top":0.6888889,"width":0.040625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"bounds":{"left":0.11328125,"top":0.6888889,"width":0.003125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Ilian Kyuchukov","depth":22,"bounds":{"left":0.11601563,"top":0.6888889,"width":0.009375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":22,"bounds":{"left":0.07304688,"top":0.7083333,"width":0.040625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"bounds":{"left":0.07304688,"top":0.7277778,"width":0.04140625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":22,"bounds":{"left":0.07304688,"top":0.74722224,"width":0.03125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":22,"bounds":{"left":0.07304688,"top":0.76666665,"width":0.040234376,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"bounds":{"left":0.07304688,"top":0.7861111,"width":0.04140625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"bounds":{"left":0.1140625,"top":0.7861111,"width":0.003125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":22,"bounds":{"left":0.11679687,"top":0.7861111,"width":0.010546875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":22,"bounds":{"left":0.07304688,"top":0.8055556,"width":0.044140626,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"bounds":{"left":0.11679687,"top":0.8055556,"width":0.0078125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"bounds":{"left":0.07304688,"top":0.825,"width":0.04140625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"bounds":{"left":0.1140625,"top":0.825,"width":0.003125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"bounds":{"left":0.11679687,"top":0.825,"width":0.010546875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"bounds":{"left":0.07304688,"top":0.84444445,"width":0.038671874,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":22,"bounds":{"left":0.07304688,"top":0.8902778,"width":0.02578125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"bounds":{"left":0.07304688,"top":0.9097222,"width":0.013671875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":22,"bounds":{"left":0.07304688,"top":0.9291667,"width":0.0359375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"loading…","depth":11,"bounds":{"left":0.0,"top":0.99930555,"width":0.022265624,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Channel","depth":11,"bounds":{"left":0.0,"top":0.99930555,"width":0.020703126,"height":0.00069444446},"role_description":"text"}]...
|
2168161040714273987
|
-1731505827009020407
|
manual
|
hybrid
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Adelina Petrova
,
Ilian Kyuchukov
,
Steliyan Georgiev
Adelina Petrova
Galya Dimitrova
Vasil Vasilev
Nikolay Nikolov
Galya Dimitrova
,
Nikolay Nikolov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
,
Nikolay Yankov
Nikolay Yankov
Jira Cloud
Toast
Google Calendar
loading…
Channel
SlackFileEditViewHistoryWindowHelpQ Search Jiminny IncJiminny ...# releasesDMs= Unreads@ Threads6 HuddlesDrafts & sent:8 DirectoriesAchivityEh External connectionsFiles# Starred& platform-inner-teamMore* Channels# ai-chapter# alerts# backend#: confusion-clinic# curiosity_labiengineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launchesf random# releases# sofia-office# support# thank-yous# the people of jimi...Direct messasesStelivan Georgiev3 Adelina Petrova, Ili...P. Adelina PetrovaD. Galya Dimitrova "C. Vasil VasilevDe Nikolay Nikolov P2 Galya Dimitrova, Ni...3 Aneliya Angelova, ...2 Galya Dimitrova, Ni...Nikolay Yankov::: Apps# Jira CloudToastGoogle Cale..• MessagesC Files© Bookmarksjiminny/app | Added by GitHubCircleCl APP 4:24PMDeployment Successful!Project: appTag:Thursday, April 9th~When: 04/09/2026 13:24:27View JobCircleCl APP 4:42 PMDeployment Successful!Project: appTag:When: 04/09/2026 13:42:09View JobGitHub APP 4:44 PM2 new commits pushed to master by mihailmihaylovjiminny431bad3d - JY-20526: Hotfixafda587a - Merge pull request #11942 from jiminny/JY-20526-hotfx•jiminny/app Added by GitHubCircleCl APP 5:11 PMDeployment Successful!Project: appTag:When: 04/09/2026 14:11:22View JobGitHub APP 7:07 PMs new commius pusnee to master oy minaliminayiov minny05045050-1Y-40054-rX eracy senience seementseacdcce0 - JY-20634: Add comments09c3f776 - Merge pull request #11943 from jiminny/JY-20634-transcription-issue-timingsjiminny/app | Added by GitHubCircleCl APP 7:33 PMDeployment Successful!Project: appTag:When: 04/09207616133151View JobMessage #releasesAalibd(A]822Qe=rireroxallmi=lue):00:00ZOO.UO A100% C4InviteTue 14 Apr 9:23:22SaveShareSendCookiadBulk EdilDescriptionDescrintior300ok e 72 mc • 102 45 KR.Eg Save Response ••.= Qazna-tisza-vsak-moze-brusel-prekvapit/",500.mp4",+2069] • HBO Max\nLike Father, Like Daughter • HBO Max\nProeurópska bublina si po Orbánovom páde vydýchla, vítazná Tisza vsak môze Brusel prekvapit - Denník N\nProeurópska bubl:tab\nMachines - Tailscale\nMachines• Tailscale\nScreenpipe Dashboard\nScreenpipe Dashboard\nWestern Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (ND60EFPX) от 239,76 €PuS 39 8 9400101OMD SAIAS UDOOErPX 01By,o E400.93 h8.) Bьrbeller xaon nuck vestern Dlotta.• razaruvan con nllodьukan obocka nscreenade Uoen souce 14.ture : I/software\ngoogle maps timeline export - Google Search\ngoogle maps timeline export - Google Search\nNewhlavnú navigáciu\nPreskocit na text\nPreskoit na text\nDennik N\nDennik N\nVyhladávanývyraz\nOHIadaj\nO\nHIadaj\nVypnút reklamu\nVypnút26 16:52\nEURÓPSKA ÚNIA\nEURÓPSKA ÚNIA\NMADARSKÉ VOLBY\nMADARSKÉ VOLBY\nPÉTER MAGYAR\NPÉTER MAGYAR\NVIKTOR ORBÁN\nVIKTOR ORBÁN\nDennik N Proeurópska bublina si po Orbánovomrbánovom páde vydýchla,vitazná Tisza vsak môze Brusel prekvapit\nSoña Weissová Soña Weissová\nSoña Weissová\nOdoberat\nE\nODOBERAT\nZobrazit diskusiu (pocet prispevkov: ®)nOdomknutn noborkcu nroto v - omas Renednkovnc n-oto Ncomas kenedtkovze nPosun v7ad o 1 sekund nuns nlnPrenyarnPosun vorer o30Súvani Dennika N\n.\nked sa líder opozície Péter Magyar v nedelu vecer prihovoril svojim priaznivcom v Budapesti, jednou z prvých vecí, ktorú im po vitaznych volbáchJrópskei únie ai NATO, \nJeho preiav ostro sledovali y Bruseli a y Clenských kraiinách EÚ.monven konentarorov si dovitazstve Tiszy y mnohwch európskych hlavnýchposlusného dietata, ktoré porusuje spoloné pravidlá - Viktora Orbána. \nExperti hovoria, Ze strana Tisza je na jednej strane dobrou správou pre Európsku úniu. Na druhejterom Magyarom nemusi byt jednoduchy. Hovoria pri tom,Èe nie je jasné, ako bude Magyar pri európskej politike postupovat,ani ako mu pripadná náklonnost k EÚ vydrzi.velmi si európski lídri vydychli, naznacuje uz to, \nako zareagovala predsednicka Európskej komisie Ursula von der Leyen, ked' Orbán uznal svoju porázku. \nEurope. \n\nEurope has always chosen Hungary.\n\nA country reclaims its European path. \n\nThe Union grows stronger. \n\nMagyarország Európát választotta.\n\nEurópa mindigerosebe valak.nins 1s the latest version of this post Last ecnted 10:5 Pи •Apr 12.2026 nx Ads 1nto and drivacy nlikehas dost.7K replies\nRead 7.7K replies\n[ TIP: Aktivujte si\nvecerny newsletter s najlepsimi Elánkami Dennika NIn,saloeолеоsеск оsie, nок vyEudeval DEOe lecastaluvne acende a eno stlana rlues< pouzivala ebodobizen v ulocnych ceкlalach a na bus1boardocn.na)rbánova spojenkyna Giorgia Meloni zablahozelali vitazovi v Madarsku rychlejsie nez zvycajne. \nPoIský premiér Donald Tusk zverejnil video, ako telefonuje lidrovi Tiszy.X\nDonald Tusk Verified account\nDonald Tusk\n@donaldtusk\n@donaldtusk\nFollow\nFollow\nView on X\nWelcome back to Europe!\nPlay Video. 8 seconds long\nWatch on X\nWatchThis post has 40.9K likes\n40.9K\nReply to this post on X\nReply\nCopy link\nCopy link\nRead 1.5K replies\nRead 1.5K replies\nDôvod z pohIadu zjednotenej EÚ je jasný:n sa stratégia blokovania skonõí. Platí to najmä pre politiku voci Ukrajine, kde Orbán blokoval dôlezitú 90-miliardovú pôzicku aj dalsi balík sankcii proti Rusku. \nAkomnuka sonecel me te aste, magvar sa k tomu zamal taste nerviadaveovzecne noct pou a niekolкo zaney.Riadnv samit lidrov EÚ je naplánovaný na 18.-19.sta Fica by mohlo ist o prvé stretnutie,na ktorom Madarsko nebude viest Viktor Orbán. \nNenahraditelný narusiteI\nNenahraditelný narusiteI\nPredseda slovenskej vládyik\ntor Orbán prehral, Slovensko môze na európskej úrovni pokracovat v jeho politike.\n„Vsetci sa pozerajú na Madarsko a veria,Ze Viktor Orbán prehrá volby.Ja si myslim,Toos S000...
|
NULL
|
|
8046
|
NULL
|
0
|
2026-04-14T06:23:56.387802+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776147836387_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh‹ $0-zshInh100% CTue 14 Apr 9:23:56T81₴7* Unable to acce...O x8DOCKER• 881auto-destruct piddeepgram keylanguagesDEV (-zsh)0not setO 82APP (-zsh)• *3-zsh• ×4-zsh• 285₴86-zshall languagesmonitorsid: 1id: 2audio devicesdisabledyou 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 latestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFO screenpipe: starting UI event capture2026-04-14T09:23:19.024042ZINFO screenpipe_core::pipes:2026-04-14T09:23:19.034460Zpipe scheduler started (generation 2)WARN screenpipe: pi agent install failed: bun not found - install from https://bun.sh2026-04-14T09:23:19.035048ZINFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-14T09:23:19.057947ZINFOscreenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd492026-04-14T09:23:19.058064ZINFOscreenpipe_engine::calendar_speaker_id: speakeridentification: started (user_name=<not set>)2026-04-14T09:23:19.058114ZINFO2026-04-14T09:23:19.062532Zscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-1306:23:19.058103 UTC to2026-04-1406:23:19.058103 UTCINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-14T09:23:19.080775ZINFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-14T09:23:19.697314ZINFO2026-04-14T09:23:19.985445ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache:warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTC2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 2 (2560x1440)2026-04-14T09:23:20.492664ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)2026-04-14T09:23:20.4926947INFO2026-04-14T09:23:20.492726Zscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFO2026-04-14T09:23:22.387611Zsck_rs::stream_manager:persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)INFOsck_rs::stream_manager:persistent SCKstream started for display 2 (2560x1440, 2fps, 0 excluded)2026-04-14T09:23:22.954948ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 1:2026-04-14T09:23:23.488645ZINFOframe_id=8037, dur=1082ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe:local retention auto-enabled (14 days)...
|
NULL
|
2309891791770163711
|
NULL
|
idle
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh‹ $0-zshInh100% CTue 14 Apr 9:23:56T81₴7* Unable to acce...O x8DOCKER• 881auto-destruct piddeepgram keylanguagesDEV (-zsh)0not setO 82APP (-zsh)• *3-zsh• ×4-zsh• 285₴86-zshall languagesmonitorsid: 1id: 2audio devicesdisabledyou 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 latestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFO screenpipe: starting UI event capture2026-04-14T09:23:19.024042ZINFO screenpipe_core::pipes:2026-04-14T09:23:19.034460Zpipe scheduler started (generation 2)WARN screenpipe: pi agent install failed: bun not found - install from https://bun.sh2026-04-14T09:23:19.035048ZINFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting UI event capture2026-04-14T09:23:19.057947ZINFOscreenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd492026-04-14T09:23:19.058064ZINFOscreenpipe_engine::calendar_speaker_id: speakeridentification: started (user_name=<not set>)2026-04-14T09:23:19.058114ZINFO2026-04-14T09:23:19.062532Zscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-1306:23:19.058103 UTC to2026-04-1406:23:19.058103 UTCINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-14T09:23:19.080775ZINFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-14T09:23:19.697314ZINFO2026-04-14T09:23:19.985445ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache:warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTC2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 1 (1440x900)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 2 (2560x1440)2026-04-14T09:23:20.492664ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)2026-04-14T09:23:20.4926947INFO2026-04-14T09:23:20.492726Zscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)INFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFO2026-04-14T09:23:22.387611Zsck_rs::stream_manager:persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)INFOsck_rs::stream_manager:persistent SCKstream started for display 2 (2560x1440, 2fps, 0 excluded)2026-04-14T09:23:22.954948ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 1:2026-04-14T09:23:23.488645ZINFOframe_id=8037, dur=1082ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012msscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe:local retention auto-enabled (14 days)...
|
8041
|
|
8047
|
NULL
|
0
|
2026-04-14T06:24:03.644684+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776147843644_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFileEditViewTabsBookmarksHistory ExtensionsWind DiaFileEditViewTabsBookmarksHistory ExtensionsWindow HelpPersonagithub.com / Page not found - GitHub • GitHubPlatform Solutions Resources Open Source Enterprise vPricing* Claude PlatformQuickstart - ScreenpipeE what can you do with screP! Western Digital Red Plus 3(S Western Digital Red Plus 6• М5 Max Mac Studio Relea:d Apple Mac Studio M4 Max§ Лаптопи Apple | Laptop.bNew Tab* ClaudePage not found • GitHub• New lao404This is not theweb page youare looking for.Find code, projects, and people on GitHub:Contact Support - GitHub Status -@githubstatus@ GitHubSubscribe to our developer newsletterGet tips, technical guides, and best practices. Twice ano nun.SubscribePlatformFeaturesEnterpriseCopilotAISecurityPricingTeamResourcesRoadmapCompare GitHubEcosystemDeveloper APIPartnersEducationGitHub CLIGitHud DesktopGitHub MobileGitHub MarketplaceMCP Registryg 2020 Githud, Inc.Terms Privacy (Updated 02/2024) Sitemap What is Git? Manage cookiesDo not share my personal Informatlon40lihlA100% CD• Search or jump to..Sign inSign in to GitHubUsername or email addressUnlock your account to view autofillsue eestions& Unlock accountSign inor continue with other methodsTue 14 Apr 9:24:03• ChatSign upnealrchSupportDocsCommunity ForumProfessional ServicesPremium SupportSkillsStatusContact GitHubCompanyAboutWhy GitHubCustomer storlestBlogIne keadm- ProlectCareersNewsroomInclusionSocial ImpactShopin ODXEnglish v...
|
NULL
|
1317090776718659343
|
NULL
|
idle
|
ocr
|
NULL
|
DiaFileEditViewTabsBookmarksHistory ExtensionsWind DiaFileEditViewTabsBookmarksHistory ExtensionsWindow HelpPersonagithub.com / Page not found - GitHub • GitHubPlatform Solutions Resources Open Source Enterprise vPricing* Claude PlatformQuickstart - ScreenpipeE what can you do with screP! Western Digital Red Plus 3(S Western Digital Red Plus 6• М5 Max Mac Studio Relea:d Apple Mac Studio M4 Max§ Лаптопи Apple | Laptop.bNew Tab* ClaudePage not found • GitHub• New lao404This is not theweb page youare looking for.Find code, projects, and people on GitHub:Contact Support - GitHub Status -@githubstatus@ GitHubSubscribe to our developer newsletterGet tips, technical guides, and best practices. Twice ano nun.SubscribePlatformFeaturesEnterpriseCopilotAISecurityPricingTeamResourcesRoadmapCompare GitHubEcosystemDeveloper APIPartnersEducationGitHub CLIGitHud DesktopGitHub MobileGitHub MarketplaceMCP Registryg 2020 Githud, Inc.Terms Privacy (Updated 02/2024) Sitemap What is Git? Manage cookiesDo not share my personal Informatlon40lihlA100% CD• Search or jump to..Sign inSign in to GitHubUsername or email addressUnlock your account to view autofillsue eestions& Unlock accountSign inor continue with other methodsTue 14 Apr 9:24:03• ChatSign upnealrchSupportDocsCommunity ForumProfessional ServicesPremium SupportSkillsStatusContact GitHubCompanyAboutWhy GitHubCustomer storlestBlogIne keadm- ProlectCareersNewsroomInclusionSocial ImpactShopin ODXEnglish v...
|
NULL
|
|
8048
|
154
|
0
|
2026-04-14T06:24:27.019073+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776147867019_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C-zshDOCKERLanguages• 881DEV (-zsh)all languagesO 82APP (-zsh)• *3-zsh• ×4-zsh• 285-zsh86-zsh₴7* Unable to acce...Tue 14 Apr 9:24:26181O x8monitorsid: 1id: 2audio devicesdisabledyou are using local processing. all your data stays on your computer.warning: telemetry isenabled.onlyerror-level data willbe sent.to disable, usethe --disable-telemetry flag.checklatestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFO screenpipe: starting UI event capture2026-04-14T09:23:19.024042ZINFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-14T09:23:19.034460Z2026-04-14T09:23:19.035048ZWARNscreenpipe: pi agent install failed: bun not found - install from https://bun.shINFOscreenpipe_engine::power::manager: initial powerprofile: Performance Con_ac=true, battery=Some(100))2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting Ul event capture2026-04-14T09:23:19.057947ZINFO2026-04-14T09:23:19.058064Zscreenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd49INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-14T09:23:19.058114ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-13 06:23:19.058103 UTC to 2026-04-1406:23:19.058103 UTC)2026-04-14T09:23:19.062532ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started(base_interval=5s, profiles=12)2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-14T09:23:19.080775ZINFO2026-04-14T09:23:19.697314Zscreenpipe_connect: :mdns: mdns: advertising screenpipe on port 3030INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frameentries, coverage from 2026-04-13 06:23:19.058103 UTC2026-04-14T09:23:19.985445ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-driven capture formonitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture:event-driven capture started for monitor1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)2026-04-14T09:23:20.492664ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)2026-04-14T09:23:20.492694ZINFOscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)2026-04-14T09:23:20.492726ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFO2026-04-14T09:23:22.387611Zsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps, 0 excluded)INFO2026-04-14T09:23:22.954948Zsck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)INFOscreenpipe_engine::event_driven_capture: startup capture for monitor 1:frame_id=8037, dur=1082ms2026-04-14T09:23:23.488645ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-14T09:24:19.745739ZINFO2026-04-14T09:24:23.350916ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: found 108eligible framesscreenpipe_engine::snapshot_compaction: snapshotcompaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGs deleted2026-04-14T09:24:26.531119ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames,10.6MB → 3.9MB (2.7x), 55 JPEGs deleted...
|
NULL
|
7612676607034266905
|
NULL
|
idle
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C-zshDOCKERLanguages• 881DEV (-zsh)all languagesO 82APP (-zsh)• *3-zsh• ×4-zsh• 285-zsh86-zsh₴7* Unable to acce...Tue 14 Apr 9:24:26181O x8monitorsid: 1id: 2audio devicesdisabledyou are using local processing. all your data stays on your computer.warning: telemetry isenabled.onlyerror-level data willbe sent.to disable, usethe --disable-telemetry flag.checklatestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFO screenpipe: starting UI event capture2026-04-14T09:23:19.024042ZINFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-14T09:23:19.034460Z2026-04-14T09:23:19.035048ZWARNscreenpipe: pi agent install failed: bun not found - install from https://bun.shINFOscreenpipe_engine::power::manager: initial powerprofile: Performance Con_ac=true, battery=Some(100))2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting Ul event capture2026-04-14T09:23:19.057947ZINFO2026-04-14T09:23:19.058064Zscreenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd49INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)2026-04-14T09:23:19.058114ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-13 06:23:19.058103 UTC to 2026-04-1406:23:19.058103 UTC)2026-04-14T09:23:19.062532ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started(base_interval=5s, profiles=12)2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-14T09:23:19.080775ZINFO2026-04-14T09:23:19.697314Zscreenpipe_connect: :mdns: mdns: advertising screenpipe on port 3030INFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frameentries, coverage from 2026-04-13 06:23:19.058103 UTC2026-04-14T09:23:19.985445ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Startingevent-driven capture formonitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture:event-driven capture started for monitor1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)2026-04-14T09:23:20.492664ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)2026-04-14T09:23:20.492694ZINFOscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)2026-04-14T09:23:20.492726ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFO2026-04-14T09:23:22.387611Zsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,2fps, 0 excluded)INFO2026-04-14T09:23:22.954948Zsck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)INFOscreenpipe_engine::event_driven_capture: startup capture for monitor 1:frame_id=8037, dur=1082ms2026-04-14T09:23:23.488645ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe: local retention auto-enabled (14 days)2026-04-14T09:24:19.745739ZINFO2026-04-14T09:24:23.350916ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: found 108eligible framesscreenpipe_engine::snapshot_compaction: snapshotcompaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGs deleted2026-04-14T09:24:26.531119ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames,10.6MB → 3.9MB (2.7x), 55 JPEGs deleted...
|
NULL
|
|
8049
|
155
|
0
|
2026-04-14T06:24:34.056771+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776147874056_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFileEditViewTabsBookmarksHistory ExtensionsWind DiaFileEditViewTabsBookmarksHistory ExtensionsWindow HelpPersonagithub.com / Page not found - GitHub • GitHubPlatform Solutions Resources Open Source Enterprise vPricing* Claude PlatformQuickstart - ScreenpipeE what can you do with screP! Western Digital Red Plus 3(S Western Digital Red Plus 6• М5 Max Mac Studio Relea:d Apple Mac Studio M4 Max§ Лаптопи Apple | Laptop.bNew Tab* ClaudePage not found • GitHub• New lao404This is not theweb page youare looking for.Find code, projects, and people on GitHub:Contact Support - GitHub Status -@githubstatus@ GitHubSubscribe to our developer newsletterGet tips, technical guides, and best practices. Twice ano nun.SubscribePlatformFeaturesEnterpriseCopilotAISecurityPricingTeamResourcesRoadmapCompare GitHubEcosystemDeveloper APIPartnersEducationGitHub CLIGitHud DesktopGitHub MobileGitHub MarketplaceMCP Registryg 2020 Githud, Inc.Terms Privacy (Updated 02/2024) Sitemap What is Git? Manage cookiesDo not share my personal Informatlon40lihlA100% CD• Search or jump to..Sign inSign in to GitHubUsername or email addressUnlock your account to view autofillsue eestions& Unlock accountSign inor continue with other methodsTue 14 Apr 9:24:33• ChatSign upnealrchSupportDocsCommunity ForumProfessional ServicesPremium SupportSkillsStatusContact GitHubCompanyAboutWhy GitHubCustomer storlestBlogIne keadm- ProlectCareersNewsroomInclusionSocial ImpactShopin ODXEnglish v...
|
NULL
|
484329095971872258
|
NULL
|
idle
|
ocr
|
NULL
|
DiaFileEditViewTabsBookmarksHistory ExtensionsWind DiaFileEditViewTabsBookmarksHistory ExtensionsWindow HelpPersonagithub.com / Page not found - GitHub • GitHubPlatform Solutions Resources Open Source Enterprise vPricing* Claude PlatformQuickstart - ScreenpipeE what can you do with screP! Western Digital Red Plus 3(S Western Digital Red Plus 6• М5 Max Mac Studio Relea:d Apple Mac Studio M4 Max§ Лаптопи Apple | Laptop.bNew Tab* ClaudePage not found • GitHub• New lao404This is not theweb page youare looking for.Find code, projects, and people on GitHub:Contact Support - GitHub Status -@githubstatus@ GitHubSubscribe to our developer newsletterGet tips, technical guides, and best practices. Twice ano nun.SubscribePlatformFeaturesEnterpriseCopilotAISecurityPricingTeamResourcesRoadmapCompare GitHubEcosystemDeveloper APIPartnersEducationGitHub CLIGitHud DesktopGitHub MobileGitHub MarketplaceMCP Registryg 2020 Githud, Inc.Terms Privacy (Updated 02/2024) Sitemap What is Git? Manage cookiesDo not share my personal Informatlon40lihlA100% CD• Search or jump to..Sign inSign in to GitHubUsername or email addressUnlock your account to view autofillsue eestions& Unlock accountSign inor continue with other methodsTue 14 Apr 9:24:33• ChatSign upnealrchSupportDocsCommunity ForumProfessional ServicesPremium SupportSkillsStatusContact GitHubCompanyAboutWhy GitHubCustomer storlestBlogIne keadm- ProlectCareersNewsroomInclusionSocial ImpactShopin ODXEnglish v...
|
8047
|
|
8084
|
NULL
|
0
|
2026-04-14T06:29:22.847831+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148162847_m2.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.09355469,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.24882813,"top":1.0,"width":0.11796875,"height":-0.05486107},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.31230468,"top":1.0,"width":0.009375,"height":-0.05138886},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.08710937,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.4501953,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4642578,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.46113282,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.3314453,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.42832032,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.44394532,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.3533203,"top":0.24097222,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.3705078,"top":0.24097222,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"bounds":{"left":0.3939453,"top":0.24930556,"width":0.072265625,"height":0.03888889},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.3263672,"top":0.25138888,"width":0.0234375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"bounds":{"left":0.3939453,"top":0.25208333,"width":0.064648435,"height":0.033680554},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.45683593,"top":0.3159722,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.45683593,"top":0.31111112,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"bounds":{"left":0.35253906,"top":0.31805557,"width":0.036328126,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.3498047,"top":0.35416666,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.3498047,"top":0.3559028,"width":0.04824219,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"bounds":{"left":0.33691406,"top":0.3625,"width":0.13007812,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"bounds":{"left":0.33691406,"top":0.46388888,"width":0.12382813,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"bounds":{"left":0.33691406,"top":0.53541666,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"bounds":{"left":0.33691406,"top":0.53680557,"width":0.107617185,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"bounds":{"left":0.33691406,"top":0.5763889,"width":0.13085938,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"bounds":{"left":0.35097656,"top":0.6180556,"width":0.11835937,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"bounds":{"left":0.36074218,"top":0.63611114,"width":0.03828125,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.39902344,"top":0.63611114,"width":0.0015625,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"bounds":{"left":0.35097656,"top":0.6597222,"width":0.058203124,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"bounds":{"left":0.35097656,"top":0.68333334,"width":0.0859375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"bounds":{"left":0.35097656,"top":0.70694447,"width":0.11835937,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"bounds":{"left":0.33691406,"top":0.81458336,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.04511719,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"bounds":{"left":0.384375,"top":0.81701386,"width":0.045898438,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.09726562,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"bounds":{"left":0.33691406,"top":0.85555553,"width":0.13085938,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"bounds":{"left":0.35097656,"top":0.9152778,"width":0.09101562,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"bounds":{"left":0.4152344,"top":0.934375,"width":0.039257813,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"bounds":{"left":0.35097656,"top":0.93333334,"width":0.1140625,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.35097656,"top":0.9704861,"width":0.113867186,"height":0.029513896},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.4091797,"top":0.9875,"width":0.04941406,"height":0.012499988},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.0126953125,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.36367187,"top":1.0,"width":0.0015625,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.10976563,"height":-0.029166698},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.3533203,"top":1.0,"width":0.042578124,"height":-0.048263907},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.11484375,"height":-0.047222257},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.06503906,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.41835937,"top":1.0,"width":0.019726563,"height":-0.089930534},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.103515625,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.06840277},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.4910156,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.4970703,"top":1.0,"width":0.04375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.50507814,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.51113284,"top":1.0,"width":0.051953126,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.52070314,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.5492188,"top":1.0,"width":0.09355469,"height":-0.05451393},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.6525391,"top":1.0,"width":0.035351563,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.6658203,"top":1.0,"width":0.017382812,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.6910156,"top":1.0,"width":0.042382814,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.7042969,"top":1.0,"width":0.024414062,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.7349609,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.7410156,"top":1.0,"width":0.03261719,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.74902344,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.75507814,"top":1.0,"width":0.011914062,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.76308596,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.7691406,"top":1.0,"width":0.02109375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.77792966,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5185547,"top":1.0,"width":0.001953125,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
896878386840393640
|
5249307815885831847
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI...
|
NULL
|
|
8085
|
NULL
|
0
|
2026-04-14T06:29:23.769841+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148163769_m1.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.16631944,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.027777778,"top":0.08777778,"width":0.20972222,"height":0.015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.140625,"top":0.08222222,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.15486111,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.005902778,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.028819444,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.052083332,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.07534722,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.09861111,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.38576388,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4107639,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.40520832,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.17465279,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.346875,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.37465277,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.165625,"top":0.20555556,"width":0.00069444446,"height":0.0011111111},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.165625,"top":0.20888889,"width":0.25069445,"height":0.035555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.209375,"top":0.0,"width":0.20243056,"height":0.049444444},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.31284723,"top":0.0,"width":0.087847225,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.209375,"top":0.008888889,"width":0.022569444,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.23194444,"top":0.008888889,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.209375,"top":0.046666667,"width":0.19513889,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.21354167,"top":0.07722222,"width":0.07569444,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.209375,"top":0.075555556,"width":0.20416667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.115625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.32916668,"top":0.14388889,"width":0.035069443,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.18402778,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"bounds":{"left":0.21354167,"top":0.20166667,"width":0.081597224,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.29930556,"top":0.2,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"bounds":{"left":0.209375,"top":0.23777778,"width":0.19861111,"height":0.08055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"bounds":{"left":0.21770833,"top":0.35555556,"width":0.019097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"bounds":{"left":0.38645834,"top":0.3427778,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"bounds":{"left":0.30520833,"top":0.4138889,"width":0.046527777,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"bounds":{"left":0.3517361,"top":0.4138889,"width":0.07604167,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"bounds":{"left":0.42777777,"top":0.4138889,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"bounds":{"left":0.4392361,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.32083333,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"bounds":{"left":0.24097222,"top":0.4372222,"width":0.04097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"bounds":{"left":0.28194445,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"bounds":{"left":0.2934028,"top":0.4372222,"width":0.017708333,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"bounds":{"left":0.31111112,"top":0.4372222,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"bounds":{"left":0.3170139,"top":0.4372222,"width":0.19826388,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"bounds":{"left":0.5152778,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"bounds":{"left":0.52673614,"top":0.4372222,"width":0.058333334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"bounds":{"left":0.21770833,"top":0.4372222,"width":0.3732639,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"bounds":{"left":0.184375,"top":0.53333336,"width":0.22986111,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"bounds":{"left":0.184375,"top":0.6377778,"width":0.23541667,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"bounds":{"left":0.184375,"top":0.64,"width":0.20104167,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"bounds":{"left":0.184375,"top":0.6766667,"width":0.22986111,"height":0.10944445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"bounds":{"left":0.184375,"top":0.81,"width":0.22847222,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"bounds":{"left":0.20868056,"top":0.87666667,"width":0.19791667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"bounds":{"left":0.21666667,"top":0.9072222,"width":0.023611112,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"bounds":{"left":0.24444444,"top":0.90555555,"width":0.011805556,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"bounds":{"left":0.26041666,"top":0.9072222,"width":0.011805556,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"bounds":{"left":0.20868056,"top":0.90555555,"width":0.19027779,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"bounds":{"left":0.20868056,"top":0.9722222,"width":0.14791666,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.2326389,"height":-0.018888831},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"bounds":{"left":0.21006945,"top":1.0,"width":0.08611111,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.23541667,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.19409722,"top":0.7361111,"width":0.22222222,"height":0.026666667},"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.20798612,"top":0.7366667,"width":0.14618056,"height":0.025555555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.19201389,"top":0.7361111,"width":0.013888889,"height":0.026666667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.1857639,"top":0.7838889,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.21909723,"top":0.7838889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.33819443,"top":0.7827778,"width":0.05451389,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.34930557,"top":0.795,"width":0.015625,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"bounds":{"left":0.396875,"top":0.7827778,"width":0.027777778,"height":0.044444446},"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"bounds":{"left":0.178125,"top":0.85555553,"width":0.25416666,"height":0.035},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.165625,"top":0.89,"width":0.090277776,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"bounds":{"left":0.17881945,"top":0.92944443,"width":0.022569444,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.17743056,"top":0.9405556,"width":0.11180556,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.1892361,"top":0.94777775,"width":0.088194445,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4722222,"top":0.10944445,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.45833334,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.46909723,"top":0.08833333,"width":0.07777778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.48333332,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.49409723,"top":0.08833333,"width":0.09236111,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.51111114,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.56180555,"top":0.08722222,"width":0.16631944,"height":0.022222223},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.74548614,"top":0.08055556,"width":0.06284722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.7690972,"top":0.08888889,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.8138889,"top":0.08055556,"width":0.07534722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.8375,"top":0.08888889,"width":0.043402776,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.8920139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.9027778,"top":0.08833333,"width":0.05798611,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.9170139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.92777777,"top":0.08833333,"width":0.021180555,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.94201386,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.9527778,"top":0.08833333,"width":0.0375,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.9684028,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.46666667,"top":0.1388889,"width":0.034027778,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.46666667,"top":0.14277777,"width":0.034027778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5072917,"top":0.14277777,"width":0.0034722222,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.5173611,"top":0.1388889,"width":0.06631944,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.5173611,"top":0.14277777,"width":0.06631944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.027222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"bounds":{"left":0.56666666,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"bounds":{"left":0.59305555,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"bounds":{"left":0.878125,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"bounds":{"left":0.9059028,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"bounds":{"left":0.93368053,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"bounds":{"left":0.9614583,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"bounds":{"left":0.4611111,"top":0.20555556,"width":0.075,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"bounds":{"left":0.48472223,"top":0.21388888,"width":0.044444446,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"bounds":{"left":0.5388889,"top":0.20555556,"width":0.07013889,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"bounds":{"left":0.5625,"top":0.21388888,"width":0.039583333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"bounds":{"left":0.61180556,"top":0.20555556,"width":0.067708336,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"bounds":{"left":0.6354167,"top":0.21388888,"width":0.03715278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"bounds":{"left":0.6822917,"top":0.20555556,"width":0.094444446,"height":0.035555556},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"bounds":{"left":0.70590276,"top":0.21388888,"width":0.06388889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"bounds":{"left":0.7795139,"top":0.20555556,"width":0.072569445,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"bounds":{"left":0.803125,"top":0.21388888,"width":0.042013887,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"bounds":{"left":0.85486114,"top":0.20555556,"width":0.05451389,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"bounds":{"left":0.86180556,"top":0.21388888,"width":0.023958333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"bounds":{"left":0.89166665,"top":0.215,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"bounds":{"left":0.91215277,"top":0.21,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"bounds":{"left":0.46666667,"top":0.32666665,"width":0.37881944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"bounds":{"left":0.48402777,"top":0.30722222,"width":0.10555556,"height":0.03722222},"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"bounds":{"left":0.6,"top":0.30944446,"width":0.08090278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"bounds":{"left":0.6027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"bounds":{"left":0.61944443,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"bounds":{"left":0.63611114,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"bounds":{"left":0.6527778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"bounds":{"left":0.66944444,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"bounds":{"left":0.6861111,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"bounds":{"left":0.7027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"bounds":{"left":0.7277778,"top":0.3077778,"width":0.048958335,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"bounds":{"left":0.7361111,"top":0.31611112,"width":0.019791666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"bounds":{"left":0.78229165,"top":0.3077778,"width":0.052430555,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"bounds":{"left":0.790625,"top":0.31611112,"width":0.023263888,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"bounds":{"left":0.8402778,"top":0.3077778,"width":0.054166667,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"bounds":{"left":0.8486111,"top":0.31611112,"width":0.025,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"bounds":{"left":0.8972222,"top":0.3077778,"width":0.05347222,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"bounds":{"left":0.90555555,"top":0.31611112,"width":0.024305556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"bounds":{"left":0.6892361,"top":0.26333332,"width":0.090625,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"bounds":{"left":0.69756943,"top":0.27166668,"width":0.07395833,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"bounds":{"left":0.78541666,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"bounds":{"left":0.81319445,"top":0.26333332,"width":0.08715278,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"bounds":{"left":0.8215278,"top":0.27166668,"width":0.028819444,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"bounds":{"left":0.8503472,"top":0.27166668,"width":0.041666668,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"bounds":{"left":0.9059028,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"bounds":{"left":0.93368053,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"bounds":{"left":0.9614583,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"bounds":{"left":0.4722222,"top":0.37888888,"width":0.088194445,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"bounds":{"left":0.4722222,"top":0.37944445,"width":0.065972224,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.54756945,"top":0.37944445,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.47013888,"top":0.4211111,"width":0.10555556,"height":0.22222222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"bounds":{"left":0.47569445,"top":0.43166667,"width":0.07152778,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"bounds":{"left":0.47847223,"top":0.50666666,"width":0.060763888,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"bounds":{"left":0.47569445,"top":0.535,"width":0.05590278,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"bounds":{"left":0.48958334,"top":0.61,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"bounds":{"left":0.48958334,"top":0.6105555,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.48229167,"top":0.57055557,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.4965278,"top":0.5655556,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"bounds":{"left":0.58923614,"top":0.37888888,"width":0.05138889,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"bounds":{"left":0.58923614,"top":0.37944445,"width":0.029166667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.6267361,"top":0.37944445,"width":0.0055555557,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.4211111,"width":0.10555556,"height":0.28},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"bounds":{"left":0.59270835,"top":0.43166667,"width":0.055208333,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-1165423965205289601
|
5247056016072146599
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny...
|
8083
|
|
8086
|
157
|
0
|
2026-04-14T06:29:53.116271+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148193116_m2.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8
JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.
Fix downtime during to feature flag release
SUPPORT TICKETS
Deployed
JY-20565
JY-20565
1.5
commit
JY-19982 AI Review - Q1. Use the enter key to load the work item.
AI Review - Q1
GROWTH - MAINTAIN OUR COMPETITIVE POSITION
Deployed
JY-19982
JY-19982
1
Successful deployment to production.
JY-20384 No such column 'Type' on entity 'Event'. Use the enter key to load the work item....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.09355469,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.24882813,"top":1.0,"width":0.11796875,"height":-0.05486107},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.31230468,"top":1.0,"width":0.009375,"height":-0.05138886},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.08710937,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.4501953,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4642578,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.46113282,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.3314453,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.42832032,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.44394532,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.3533203,"top":0.24097222,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.3705078,"top":0.24097222,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"bounds":{"left":0.3939453,"top":0.24930556,"width":0.072265625,"height":0.03888889},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.3263672,"top":0.25138888,"width":0.0234375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"bounds":{"left":0.3939453,"top":0.25208333,"width":0.064648435,"height":0.033680554},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.45683593,"top":0.3159722,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.45683593,"top":0.31111112,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"bounds":{"left":0.35253906,"top":0.31805557,"width":0.036328126,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.3498047,"top":0.35416666,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.3498047,"top":0.3559028,"width":0.04824219,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"bounds":{"left":0.33691406,"top":0.3625,"width":0.13007812,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"bounds":{"left":0.33691406,"top":0.46388888,"width":0.12382813,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"bounds":{"left":0.33691406,"top":0.53541666,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"bounds":{"left":0.33691406,"top":0.53680557,"width":0.107617185,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"bounds":{"left":0.33691406,"top":0.5763889,"width":0.13085938,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"bounds":{"left":0.35097656,"top":0.6180556,"width":0.11835937,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"bounds":{"left":0.36074218,"top":0.63611114,"width":0.03828125,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.39902344,"top":0.63611114,"width":0.0015625,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"bounds":{"left":0.35097656,"top":0.6597222,"width":0.058203124,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"bounds":{"left":0.35097656,"top":0.68333334,"width":0.0859375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"bounds":{"left":0.35097656,"top":0.70694447,"width":0.11835937,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"bounds":{"left":0.33691406,"top":0.81458336,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.04511719,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"bounds":{"left":0.384375,"top":0.81701386,"width":0.045898438,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.09726562,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"bounds":{"left":0.33691406,"top":0.85555553,"width":0.13085938,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"bounds":{"left":0.35097656,"top":0.9152778,"width":0.09101562,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"bounds":{"left":0.4152344,"top":0.934375,"width":0.039257813,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"bounds":{"left":0.35097656,"top":0.93333334,"width":0.1140625,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.35097656,"top":0.9704861,"width":0.113867186,"height":0.029513896},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.4091797,"top":0.9875,"width":0.04941406,"height":0.012499988},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.0126953125,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.36367187,"top":1.0,"width":0.0015625,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.10976563,"height":-0.029166698},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.3533203,"top":1.0,"width":0.042578124,"height":-0.048263907},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.11484375,"height":-0.047222257},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.06503906,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.41835937,"top":1.0,"width":0.019726563,"height":-0.089930534},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.103515625,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.06840277},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.4910156,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.4970703,"top":1.0,"width":0.04375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.50507814,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.51113284,"top":1.0,"width":0.051953126,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.52070314,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.5492188,"top":1.0,"width":0.09355469,"height":-0.05451393},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.6525391,"top":1.0,"width":0.035351563,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.6658203,"top":1.0,"width":0.017382812,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.6910156,"top":1.0,"width":0.042382814,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.7042969,"top":1.0,"width":0.024414062,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.7349609,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.7410156,"top":1.0,"width":0.03261719,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.74902344,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.75507814,"top":1.0,"width":0.011914062,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.76308596,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.7691406,"top":1.0,"width":0.02109375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.77792966,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5185547,"top":1.0,"width":0.001953125,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BE","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FE","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-18909","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11.5","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20553 Delays in CRM Sync. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delays in CRM Sync","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Platform Stability, Edit Parent","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLATFORM STABILITY","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20553","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20553","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Experiment with AI workflow for automated Dependabot fixes","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IMPROVEMENT OF OUR EFFICIENCY","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20551","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20551","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20431","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20431","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Code Review","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CODE REVIEW","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Evaluation for AI Activity Types","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Auto-detected activity type, Edit Parent","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AUTO-DETECTED ACTIVITY TYPE","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19798","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19798","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"commit","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ Reports > Tracking","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"AJ Reports, Edit Parent","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ REPORTS","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20543","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Prepare fallback with email for SSO for `persistent` name_id_format","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REDUCE CHURN","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20632","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20632","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Code Review","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Blocked","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BLOCKED","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Blocked","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"QA","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in QA","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"PO Acceptance","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PO ACCEPTANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in PO Acceptance","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Deploy","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DEPLOY","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix downtime during to feature flag release","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SUPPORT TICKETS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deployed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20565","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20565","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"commit","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-19982 AI Review - Q1. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI Review - Q1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"GROWTH - MAINTAIN OUR COMPETITIVE POSITION","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deployed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19982","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19982","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Successful deployment to production.","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20384 No such column 'Type' on entity 'Event'. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
1996489956373980360
|
6402088578708733575
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8
JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.
Fix downtime during to feature flag release
SUPPORT TICKETS
Deployed
JY-20565
JY-20565
1.5
commit
JY-19982 AI Review - Q1. Use the enter key to load the work item.
AI Review - Q1
GROWTH - MAINTAIN OUR COMPETITIVE POSITION
Deployed
JY-19982
JY-19982
1
Successful deployment to production.
JY-20384 No such column 'Type' on entity 'Event'. Use the enter key to load the work item....
|
8084
|
|
8087
|
156
|
0
|
2026-04-14T06:29:53.995768+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148193995_m1.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8
JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.
Fix downtime during to feature flag release
SUPPORT TICKETS
Deployed
JY-20565
JY-20565
1.5
commit
JY-19982 AI Review - Q1. Use the enter key to load the work item.
AI Review - Q1...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.16631944,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.027777778,"top":0.08777778,"width":0.20972222,"height":0.015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.140625,"top":0.08222222,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.15486111,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.005902778,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.028819444,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.052083332,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.07534722,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.09861111,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.38576388,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4107639,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.40520832,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.17465279,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.346875,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.37465277,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.165625,"top":0.20555556,"width":0.00069444446,"height":0.0011111111},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.165625,"top":0.20888889,"width":0.25069445,"height":0.035555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.209375,"top":0.0,"width":0.20243056,"height":0.049444444},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.31284723,"top":0.0,"width":0.087847225,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.209375,"top":0.008888889,"width":0.022569444,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.23194444,"top":0.008888889,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.209375,"top":0.046666667,"width":0.19513889,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.21354167,"top":0.07722222,"width":0.07569444,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.209375,"top":0.075555556,"width":0.20416667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.115625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.32916668,"top":0.14388889,"width":0.035069443,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.18402778,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"bounds":{"left":0.21354167,"top":0.20166667,"width":0.081597224,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.29930556,"top":0.2,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"bounds":{"left":0.209375,"top":0.23777778,"width":0.19861111,"height":0.08055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"bounds":{"left":0.21770833,"top":0.35555556,"width":0.019097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"bounds":{"left":0.38645834,"top":0.3427778,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"bounds":{"left":0.30520833,"top":0.4138889,"width":0.046527777,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"bounds":{"left":0.3517361,"top":0.4138889,"width":0.07604167,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"bounds":{"left":0.42777777,"top":0.4138889,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"bounds":{"left":0.4392361,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.32083333,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"bounds":{"left":0.24097222,"top":0.4372222,"width":0.04097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"bounds":{"left":0.28194445,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"bounds":{"left":0.2934028,"top":0.4372222,"width":0.017708333,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"bounds":{"left":0.31111112,"top":0.4372222,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"bounds":{"left":0.3170139,"top":0.4372222,"width":0.19826388,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"bounds":{"left":0.5152778,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"bounds":{"left":0.52673614,"top":0.4372222,"width":0.058333334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"bounds":{"left":0.21770833,"top":0.4372222,"width":0.3732639,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"bounds":{"left":0.184375,"top":0.53333336,"width":0.22986111,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"bounds":{"left":0.184375,"top":0.6377778,"width":0.23541667,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"bounds":{"left":0.184375,"top":0.64,"width":0.20104167,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"bounds":{"left":0.184375,"top":0.6766667,"width":0.22986111,"height":0.10944445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"bounds":{"left":0.184375,"top":0.81,"width":0.22847222,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"bounds":{"left":0.20868056,"top":0.87666667,"width":0.19791667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"bounds":{"left":0.21666667,"top":0.9072222,"width":0.023611112,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"bounds":{"left":0.24444444,"top":0.90555555,"width":0.011805556,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"bounds":{"left":0.26041666,"top":0.9072222,"width":0.011805556,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"bounds":{"left":0.20868056,"top":0.90555555,"width":0.19027779,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"bounds":{"left":0.20868056,"top":0.9722222,"width":0.14791666,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.2326389,"height":-0.018888831},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"bounds":{"left":0.21006945,"top":1.0,"width":0.08611111,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.23541667,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.19409722,"top":0.7361111,"width":0.22222222,"height":0.026666667},"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.20798612,"top":0.7366667,"width":0.14618056,"height":0.025555555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.19201389,"top":0.7361111,"width":0.013888889,"height":0.026666667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.1857639,"top":0.7838889,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.21909723,"top":0.7838889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.33819443,"top":0.7827778,"width":0.05451389,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.34930557,"top":0.795,"width":0.015625,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"bounds":{"left":0.396875,"top":0.7827778,"width":0.027777778,"height":0.044444446},"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"bounds":{"left":0.178125,"top":0.85555553,"width":0.25416666,"height":0.035},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.165625,"top":0.89,"width":0.090277776,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"bounds":{"left":0.17881945,"top":0.92944443,"width":0.022569444,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.17743056,"top":0.9405556,"width":0.11180556,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.1892361,"top":0.94777775,"width":0.088194445,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4722222,"top":0.10944445,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.45833334,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.46909723,"top":0.08833333,"width":0.07777778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.48333332,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.49409723,"top":0.08833333,"width":0.09236111,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.51111114,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.56180555,"top":0.08722222,"width":0.16631944,"height":0.022222223},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.74548614,"top":0.08055556,"width":0.06284722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.7690972,"top":0.08888889,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.8138889,"top":0.08055556,"width":0.07534722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.8375,"top":0.08888889,"width":0.043402776,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.8920139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.9027778,"top":0.08833333,"width":0.05798611,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.9170139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.92777777,"top":0.08833333,"width":0.021180555,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.94201386,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.9527778,"top":0.08833333,"width":0.0375,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.9684028,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.46666667,"top":0.1388889,"width":0.034027778,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.46666667,"top":0.14277777,"width":0.034027778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5072917,"top":0.14277777,"width":0.0034722222,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.5173611,"top":0.1388889,"width":0.06631944,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.5173611,"top":0.14277777,"width":0.06631944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.027222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"bounds":{"left":0.56666666,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"bounds":{"left":0.59305555,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"bounds":{"left":0.878125,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"bounds":{"left":0.9059028,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"bounds":{"left":0.93368053,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"bounds":{"left":0.9614583,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"bounds":{"left":0.4611111,"top":0.20555556,"width":0.075,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"bounds":{"left":0.48472223,"top":0.21388888,"width":0.044444446,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"bounds":{"left":0.5388889,"top":0.20555556,"width":0.07013889,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"bounds":{"left":0.5625,"top":0.21388888,"width":0.039583333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"bounds":{"left":0.61180556,"top":0.20555556,"width":0.067708336,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"bounds":{"left":0.6354167,"top":0.21388888,"width":0.03715278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"bounds":{"left":0.6822917,"top":0.20555556,"width":0.094444446,"height":0.035555556},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"bounds":{"left":0.70590276,"top":0.21388888,"width":0.06388889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"bounds":{"left":0.7795139,"top":0.20555556,"width":0.072569445,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"bounds":{"left":0.803125,"top":0.21388888,"width":0.042013887,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"bounds":{"left":0.85486114,"top":0.20555556,"width":0.05451389,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"bounds":{"left":0.86180556,"top":0.21388888,"width":0.023958333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"bounds":{"left":0.89166665,"top":0.215,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"bounds":{"left":0.91215277,"top":0.21,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"bounds":{"left":0.46666667,"top":0.32666665,"width":0.37881944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"bounds":{"left":0.48402777,"top":0.30722222,"width":0.10555556,"height":0.03722222},"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"bounds":{"left":0.6,"top":0.30944446,"width":0.08090278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"bounds":{"left":0.6027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"bounds":{"left":0.61944443,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"bounds":{"left":0.63611114,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"bounds":{"left":0.6527778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"bounds":{"left":0.66944444,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"bounds":{"left":0.6861111,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"bounds":{"left":0.7027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"bounds":{"left":0.7277778,"top":0.3077778,"width":0.048958335,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"bounds":{"left":0.7361111,"top":0.31611112,"width":0.019791666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"bounds":{"left":0.78229165,"top":0.3077778,"width":0.052430555,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"bounds":{"left":0.790625,"top":0.31611112,"width":0.023263888,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"bounds":{"left":0.8402778,"top":0.3077778,"width":0.054166667,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"bounds":{"left":0.8486111,"top":0.31611112,"width":0.025,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"bounds":{"left":0.8972222,"top":0.3077778,"width":0.05347222,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"bounds":{"left":0.90555555,"top":0.31611112,"width":0.024305556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"bounds":{"left":0.6892361,"top":0.26333332,"width":0.090625,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"bounds":{"left":0.69756943,"top":0.27166668,"width":0.07395833,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"bounds":{"left":0.78541666,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"bounds":{"left":0.81319445,"top":0.26333332,"width":0.08715278,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"bounds":{"left":0.8215278,"top":0.27166668,"width":0.028819444,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"bounds":{"left":0.8503472,"top":0.27166668,"width":0.041666668,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"bounds":{"left":0.9059028,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"bounds":{"left":0.93368053,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"bounds":{"left":0.9614583,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"bounds":{"left":0.4722222,"top":0.37888888,"width":0.088194445,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"bounds":{"left":0.4722222,"top":0.37944445,"width":0.065972224,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.54756945,"top":0.37944445,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.47013888,"top":0.4211111,"width":0.10555556,"height":0.22222222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"bounds":{"left":0.47569445,"top":0.43166667,"width":0.07152778,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"bounds":{"left":0.47847223,"top":0.50666666,"width":0.060763888,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"bounds":{"left":0.47569445,"top":0.535,"width":0.05590278,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"bounds":{"left":0.48958334,"top":0.61,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"bounds":{"left":0.48958334,"top":0.6105555,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.48229167,"top":0.57055557,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.4965278,"top":0.5655556,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"bounds":{"left":0.58923614,"top":0.37888888,"width":0.05138889,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"bounds":{"left":0.58923614,"top":0.37944445,"width":0.029166667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.6267361,"top":0.37944445,"width":0.0055555557,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.4211111,"width":0.10555556,"height":0.28},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"bounds":{"left":0.59270835,"top":0.43166667,"width":0.055208333,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"bounds":{"left":0.5954861,"top":0.50666666,"width":0.04826389,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":0.535,"width":0.026041666,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI","depth":21,"bounds":{"left":0.59618056,"top":0.5605556,"width":0.010763889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BE","depth":21,"bounds":{"left":0.61944443,"top":0.5605556,"width":0.012152778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FE","depth":21,"bounds":{"left":0.6440972,"top":0.5605556,"width":0.011805556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"bounds":{"left":0.59618056,"top":0.59166664,"width":0.013541667,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-18909","depth":17,"bounds":{"left":0.60659724,"top":0.6677778,"width":0.038194444,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909","depth":19,"bounds":{"left":0.60659724,"top":0.66833335,"width":0.038194444,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11.5","depth":17,"bounds":{"left":0.5954861,"top":0.62833333,"width":0.013888889,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.6163194,"top":0.62333333,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20553 Delays in CRM Sync. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.70555556,"width":0.10555556,"height":0.20055556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delays in CRM Sync","depth":18,"bounds":{"left":0.59270835,"top":0.7161111,"width":0.06666667,"height":0.041666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Platform Stability, Edit Parent","depth":17,"bounds":{"left":0.59270835,"top":0.7677778,"width":0.09340278,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLATFORM STABILITY","depth":21,"bounds":{"left":0.5954861,"top":0.76944447,"width":0.087847225,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":0.7977778,"width":0.026041666,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20553","depth":17,"bounds":{"left":0.60659724,"top":0.87277776,"width":0.03923611,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20553","depth":19,"bounds":{"left":0.60659724,"top":0.87333333,"width":0.03923611,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"bounds":{"left":0.59826386,"top":0.8333333,"width":0.0052083335,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.91055554,"width":0.10555556,"height":0.08944446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Experiment with AI workflow for automated Dependabot fixes","depth":17,"bounds":{"left":0.59270835,"top":0.9211111,"width":0.057638887,"height":0.07888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IMPROVEMENT OF OUR EFFICIENCY","depth":18,"bounds":{"left":0.5954861,"top":0.9961111,"width":0.14270833,"height":0.003888905},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":1.0,"width":0.026041666,"height":-0.02444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20551","depth":17,"bounds":{"left":0.60659724,"top":1.0,"width":0.0375,"height":-0.09944439},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20551","depth":19,"bounds":{"left":0.60659724,"top":1.0,"width":0.0375,"height":-0.100000024},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":17,"bounds":{"left":0.59826386,"top":1.0,"width":0.0052083335,"height":-0.059999943},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20431","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20431","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Code Review","depth":16,"bounds":{"left":0.70590276,"top":0.37888888,"width":0.081597224,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CODE REVIEW","depth":18,"bounds":{"left":0.70590276,"top":0.37944445,"width":0.059375,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.7736111,"top":0.37944445,"width":0.0052083335,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.40555555,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.4211111,"width":0.10555556,"height":0.22277778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Evaluation for AI Activity Types","depth":18,"bounds":{"left":0.709375,"top":0.43166667,"width":0.06284722,"height":0.06388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Auto-detected activity type, Edit Parent","depth":17,"bounds":{"left":0.709375,"top":0.50555557,"width":0.094444446,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AUTO-DETECTED ACTIVITY TYPE","depth":21,"bounds":{"left":0.7121528,"top":0.50722224,"width":0.13263889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.53555554,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19798","depth":17,"bounds":{"left":0.72326386,"top":0.6105555,"width":0.0375,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19798","depth":19,"bounds":{"left":0.72326386,"top":0.6111111,"width":0.0375,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":17,"bounds":{"left":0.7152778,"top":0.5711111,"width":0.0048611113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"commit","depth":16,"bounds":{"left":0.73020834,"top":0.5661111,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.63277775,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.6483333,"width":0.10555556,"height":0.20055556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ Reports > Tracking","depth":18,"bounds":{"left":0.709375,"top":0.6588889,"width":0.059722222,"height":0.041666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"AJ Reports, Edit Parent","depth":17,"bounds":{"left":0.709375,"top":0.71055555,"width":0.054166667,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ REPORTS","depth":21,"bounds":{"left":0.7121528,"top":0.7122222,"width":0.048611112,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.7405556,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20543","depth":17,"bounds":{"left":0.72326386,"top":0.8155556,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543","depth":19,"bounds":{"left":0.72326386,"top":0.8161111,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.71597224,"top":0.7761111,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.73020834,"top":0.77111113,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.8377778,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.85333335,"width":0.10555556,"height":0.14666665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Prepare fallback with email for SSO for `persistent` name_id_format","depth":17,"bounds":{"left":0.709375,"top":0.86388886,"width":0.06979167,"height":0.13055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REDUCE CHURN","depth":18,"bounds":{"left":0.7121528,"top":0.9388889,"width":0.062152777,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.9672222,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20632","depth":17,"bounds":{"left":0.72326386,"top":1.0,"width":0.039930556,"height":-0.04222226},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20632","depth":19,"bounds":{"left":0.72326386,"top":1.0,"width":0.039930556,"height":-0.042777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5","depth":17,"bounds":{"left":0.7121528,"top":1.0,"width":0.012152778,"height":-0.0027778149},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Code Review","depth":16,"bounds":{"left":0.70381945,"top":1.0,"width":0.10555556,"height":-0.08000004},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.7274306,"top":1.0,"width":0.030902777,"height":-0.09055555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Blocked","depth":16,"bounds":{"left":0.8229167,"top":0.37888888,"width":0.03923611,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BLOCKED","depth":18,"bounds":{"left":0.8229167,"top":0.37944445,"width":0.03923611,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Blocked","depth":16,"bounds":{"left":0.8208333,"top":0.4211111,"width":0.10555556,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.84444445,"top":0.43166667,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"QA","depth":16,"bounds":{"left":0.93958336,"top":0.37888888,"width":0.012152778,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":18,"bounds":{"left":0.93958336,"top":0.37944445,"width":0.012152778,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in QA","depth":16,"bounds":{"left":0.9375,"top":0.4211111,"width":0.0625,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.9611111,"top":0.43166667,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"PO Acceptance","depth":16,"bounds":{"left":1.0,"top":0.37888888,"width":-0.056597233,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PO ACCEPTANCE","depth":18,"bounds":{"left":1.0,"top":0.37944445,"width":-0.056597233,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in PO Acceptance","depth":16,"bounds":{"left":1.0,"top":0.4211111,"width":-0.05451393,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":1.0,"top":0.43166667,"width":-0.078125,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Deploy","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DEPLOY","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix downtime during to feature flag release","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SUPPORT TICKETS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deployed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20565","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20565","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"commit","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-19982 AI Review - Q1. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI Review - Q1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8109544959817262132
|
6402088578708733639
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8
JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.
Fix downtime during to feature flag release
SUPPORT TICKETS
Deployed
JY-20565
JY-20565
1.5
commit
JY-19982 AI Review - Q1. Use the enter key to load the work item.
AI Review - Q1...
|
NULL
|
|
8104
|
NULL
|
0
|
2026-04-14T06:34:25.644072+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148465644_m2.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.09355469,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.24882813,"top":1.0,"width":0.11796875,"height":-0.05486107},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.31230468,"top":1.0,"width":0.009375,"height":-0.05138886},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.08710937,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.4501953,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4642578,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.46113282,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.3314453,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.42832032,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.44394532,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.3533203,"top":0.24097222,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.3705078,"top":0.24097222,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"bounds":{"left":0.3939453,"top":0.24930556,"width":0.072265625,"height":0.03888889},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.3263672,"top":0.25138888,"width":0.0234375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"bounds":{"left":0.3939453,"top":0.25208333,"width":0.064648435,"height":0.033680554},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.45683593,"top":0.3159722,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.45683593,"top":0.31111112,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"bounds":{"left":0.35253906,"top":0.31805557,"width":0.036328126,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.3498047,"top":0.35416666,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.3498047,"top":0.3559028,"width":0.04824219,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"bounds":{"left":0.33691406,"top":0.3625,"width":0.13007812,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"bounds":{"left":0.33691406,"top":0.46388888,"width":0.12382813,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"bounds":{"left":0.33691406,"top":0.53541666,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"bounds":{"left":0.33691406,"top":0.53680557,"width":0.107617185,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"bounds":{"left":0.33691406,"top":0.5763889,"width":0.13085938,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"bounds":{"left":0.35097656,"top":0.6180556,"width":0.11835937,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"bounds":{"left":0.36074218,"top":0.63611114,"width":0.03828125,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.39902344,"top":0.63611114,"width":0.0015625,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"bounds":{"left":0.35097656,"top":0.6597222,"width":0.058203124,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"bounds":{"left":0.35097656,"top":0.68333334,"width":0.0859375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"bounds":{"left":0.35097656,"top":0.70694447,"width":0.11835937,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"bounds":{"left":0.33691406,"top":0.81458336,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.04511719,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"bounds":{"left":0.384375,"top":0.81701386,"width":0.045898438,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.09726562,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"bounds":{"left":0.33691406,"top":0.85555553,"width":0.13085938,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"bounds":{"left":0.35097656,"top":0.9152778,"width":0.09101562,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"bounds":{"left":0.4152344,"top":0.934375,"width":0.039257813,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"bounds":{"left":0.35097656,"top":0.93333334,"width":0.1140625,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.35097656,"top":0.9704861,"width":0.113867186,"height":0.029513896},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.4091797,"top":0.9875,"width":0.04941406,"height":0.012499988},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.0126953125,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.36367187,"top":1.0,"width":0.0015625,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.10976563,"height":-0.029166698},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.3533203,"top":1.0,"width":0.042578124,"height":-0.048263907},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.11484375,"height":-0.047222257},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.06503906,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.41835937,"top":1.0,"width":0.019726563,"height":-0.089930534},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.103515625,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.06840277},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.4910156,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.4970703,"top":1.0,"width":0.04375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.50507814,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.51113284,"top":1.0,"width":0.051953126,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.52070314,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.5492188,"top":1.0,"width":0.09355469,"height":-0.05451393},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.6525391,"top":1.0,"width":0.035351563,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.6658203,"top":1.0,"width":0.017382812,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.6910156,"top":1.0,"width":0.042382814,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.7042969,"top":1.0,"width":0.024414062,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.7349609,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.7410156,"top":1.0,"width":0.03261719,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.74902344,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.75507814,"top":1.0,"width":0.011914062,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.76308596,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.7691406,"top":1.0,"width":0.02109375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.77792966,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5185547,"top":1.0,"width":0.001953125,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BE","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FE","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-18909","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-6053396915843713836
|
5249307815885831847
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909...
|
NULL
|
|
8105
|
NULL
|
0
|
2026-04-14T06:34:25.908909+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148465908_m1.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.16631944,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.027777778,"top":0.08777778,"width":0.20972222,"height":0.015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.140625,"top":0.08222222,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.15486111,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.005902778,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.028819444,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.052083332,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.07534722,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.09861111,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.38576388,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4107639,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.40520832,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.17465279,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.346875,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.37465277,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.165625,"top":0.20555556,"width":0.00069444446,"height":0.0011111111},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.165625,"top":0.20888889,"width":0.25069445,"height":0.035555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.209375,"top":0.0,"width":0.20243056,"height":0.049444444},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.31284723,"top":0.0,"width":0.087847225,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.209375,"top":0.008888889,"width":0.022569444,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.23194444,"top":0.008888889,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.209375,"top":0.046666667,"width":0.19513889,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.21354167,"top":0.07722222,"width":0.07569444,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.209375,"top":0.075555556,"width":0.20416667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.115625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.32916668,"top":0.14388889,"width":0.035069443,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.18402778,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"bounds":{"left":0.21354167,"top":0.20166667,"width":0.081597224,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.29930556,"top":0.2,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"bounds":{"left":0.209375,"top":0.23777778,"width":0.19861111,"height":0.08055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"bounds":{"left":0.21770833,"top":0.35555556,"width":0.019097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"bounds":{"left":0.38645834,"top":0.3427778,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"bounds":{"left":0.30520833,"top":0.4138889,"width":0.046527777,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"bounds":{"left":0.3517361,"top":0.4138889,"width":0.07604167,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"bounds":{"left":0.42777777,"top":0.4138889,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"bounds":{"left":0.4392361,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.32083333,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"bounds":{"left":0.24097222,"top":0.4372222,"width":0.04097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"bounds":{"left":0.28194445,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"bounds":{"left":0.2934028,"top":0.4372222,"width":0.017708333,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"bounds":{"left":0.31111112,"top":0.4372222,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"bounds":{"left":0.3170139,"top":0.4372222,"width":0.19826388,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"bounds":{"left":0.5152778,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"bounds":{"left":0.52673614,"top":0.4372222,"width":0.058333334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"bounds":{"left":0.21770833,"top":0.4372222,"width":0.3732639,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"bounds":{"left":0.184375,"top":0.53333336,"width":0.22986111,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"bounds":{"left":0.184375,"top":0.6377778,"width":0.23541667,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"bounds":{"left":0.184375,"top":0.64,"width":0.20104167,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"bounds":{"left":0.184375,"top":0.6766667,"width":0.22986111,"height":0.10944445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"bounds":{"left":0.184375,"top":0.81,"width":0.22847222,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"bounds":{"left":0.20868056,"top":0.87666667,"width":0.19791667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"bounds":{"left":0.21666667,"top":0.9072222,"width":0.023611112,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"bounds":{"left":0.24444444,"top":0.90555555,"width":0.011805556,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"bounds":{"left":0.26041666,"top":0.9072222,"width":0.011805556,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"bounds":{"left":0.20868056,"top":0.90555555,"width":0.19027779,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"bounds":{"left":0.20868056,"top":0.9722222,"width":0.14791666,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.2326389,"height":-0.018888831},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"bounds":{"left":0.21006945,"top":1.0,"width":0.08611111,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.23541667,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.19409722,"top":0.7361111,"width":0.22222222,"height":0.026666667},"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.20798612,"top":0.7366667,"width":0.14618056,"height":0.025555555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.19201389,"top":0.7361111,"width":0.013888889,"height":0.026666667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.1857639,"top":0.7838889,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.21909723,"top":0.7838889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.33819443,"top":0.7827778,"width":0.05451389,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.34930557,"top":0.795,"width":0.015625,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"bounds":{"left":0.396875,"top":0.7827778,"width":0.027777778,"height":0.044444446},"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"bounds":{"left":0.178125,"top":0.85555553,"width":0.25416666,"height":0.035},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.165625,"top":0.89,"width":0.090277776,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"bounds":{"left":0.17881945,"top":0.92944443,"width":0.022569444,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.17743056,"top":0.9405556,"width":0.11180556,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.1892361,"top":0.94777775,"width":0.088194445,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4722222,"top":0.10944445,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.45833334,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.46909723,"top":0.08833333,"width":0.07777778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.48333332,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.49409723,"top":0.08833333,"width":0.09236111,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.51111114,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.56180555,"top":0.08722222,"width":0.16631944,"height":0.022222223},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.74548614,"top":0.08055556,"width":0.06284722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.7690972,"top":0.08888889,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.8138889,"top":0.08055556,"width":0.07534722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.8375,"top":0.08888889,"width":0.043402776,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.8920139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.9027778,"top":0.08833333,"width":0.05798611,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.9170139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.92777777,"top":0.08833333,"width":0.021180555,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.94201386,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.9527778,"top":0.08833333,"width":0.0375,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.9684028,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.46666667,"top":0.1388889,"width":0.034027778,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.46666667,"top":0.14277777,"width":0.034027778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5072917,"top":0.14277777,"width":0.0034722222,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.5173611,"top":0.1388889,"width":0.06631944,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.5173611,"top":0.14277777,"width":0.06631944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.027222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"bounds":{"left":0.56666666,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"bounds":{"left":0.59305555,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"bounds":{"left":0.878125,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"bounds":{"left":0.9059028,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"bounds":{"left":0.93368053,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"bounds":{"left":0.9614583,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"bounds":{"left":0.4611111,"top":0.20555556,"width":0.075,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"bounds":{"left":0.48472223,"top":0.21388888,"width":0.044444446,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"bounds":{"left":0.5388889,"top":0.20555556,"width":0.07013889,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"bounds":{"left":0.5625,"top":0.21388888,"width":0.039583333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"bounds":{"left":0.61180556,"top":0.20555556,"width":0.067708336,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"bounds":{"left":0.6354167,"top":0.21388888,"width":0.03715278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"bounds":{"left":0.6822917,"top":0.20555556,"width":0.094444446,"height":0.035555556},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"bounds":{"left":0.70590276,"top":0.21388888,"width":0.06388889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"bounds":{"left":0.7795139,"top":0.20555556,"width":0.072569445,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"bounds":{"left":0.803125,"top":0.21388888,"width":0.042013887,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"bounds":{"left":0.85486114,"top":0.20555556,"width":0.05451389,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"bounds":{"left":0.86180556,"top":0.21388888,"width":0.023958333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"bounds":{"left":0.89166665,"top":0.215,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"bounds":{"left":0.91215277,"top":0.21,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"bounds":{"left":0.46666667,"top":0.32666665,"width":0.37881944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"bounds":{"left":0.48402777,"top":0.30722222,"width":0.10555556,"height":0.03722222},"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"bounds":{"left":0.6,"top":0.30944446,"width":0.08090278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"bounds":{"left":0.6027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"bounds":{"left":0.61944443,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"bounds":{"left":0.63611114,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"bounds":{"left":0.6527778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"bounds":{"left":0.66944444,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"bounds":{"left":0.6861111,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"bounds":{"left":0.7027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"bounds":{"left":0.7277778,"top":0.3077778,"width":0.048958335,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"bounds":{"left":0.7361111,"top":0.31611112,"width":0.019791666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"bounds":{"left":0.78229165,"top":0.3077778,"width":0.052430555,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"bounds":{"left":0.790625,"top":0.31611112,"width":0.023263888,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"bounds":{"left":0.8402778,"top":0.3077778,"width":0.054166667,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"bounds":{"left":0.8486111,"top":0.31611112,"width":0.025,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"bounds":{"left":0.8972222,"top":0.3077778,"width":0.05347222,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"bounds":{"left":0.90555555,"top":0.31611112,"width":0.024305556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"bounds":{"left":0.6892361,"top":0.26333332,"width":0.090625,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"bounds":{"left":0.69756943,"top":0.27166668,"width":0.07395833,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"bounds":{"left":0.78541666,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"bounds":{"left":0.81319445,"top":0.26333332,"width":0.08715278,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"bounds":{"left":0.8215278,"top":0.27166668,"width":0.028819444,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"bounds":{"left":0.8503472,"top":0.27166668,"width":0.041666668,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"bounds":{"left":0.9059028,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"bounds":{"left":0.93368053,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"bounds":{"left":0.9614583,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"bounds":{"left":0.4722222,"top":0.37888888,"width":0.088194445,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"bounds":{"left":0.4722222,"top":0.37944445,"width":0.065972224,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.54756945,"top":0.37944445,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.47013888,"top":0.4211111,"width":0.10555556,"height":0.22222222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"bounds":{"left":0.47569445,"top":0.43166667,"width":0.07152778,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"bounds":{"left":0.47847223,"top":0.50666666,"width":0.060763888,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"bounds":{"left":0.47569445,"top":0.535,"width":0.05590278,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"bounds":{"left":0.48958334,"top":0.61,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"bounds":{"left":0.48958334,"top":0.6105555,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.48229167,"top":0.57055557,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.4965278,"top":0.5655556,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"bounds":{"left":0.58923614,"top":0.37888888,"width":0.05138889,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"bounds":{"left":0.58923614,"top":0.37944445,"width":0.029166667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.6267361,"top":0.37944445,"width":0.0055555557,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.4211111,"width":0.10555556,"height":0.28},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"bounds":{"left":0.59270835,"top":0.43166667,"width":0.055208333,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"bounds":{"left":0.5954861,"top":0.50666666,"width":0.04826389,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":0.535,"width":0.026041666,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI","depth":21,"bounds":{"left":0.59618056,"top":0.5605556,"width":0.010763889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BE","depth":21,"bounds":{"left":0.61944443,"top":0.5605556,"width":0.012152778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FE","depth":21,"bounds":{"left":0.6440972,"top":0.5605556,"width":0.011805556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"bounds":{"left":0.59618056,"top":0.59166664,"width":0.013541667,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-18909","depth":17,"bounds":{"left":0.60659724,"top":0.6677778,"width":0.038194444,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909","depth":19,"bounds":{"left":0.60659724,"top":0.66833335,"width":0.038194444,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11.5","depth":17,"bounds":{"left":0.5954861,"top":0.62833333,"width":0.013888889,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.6163194,"top":0.62333333,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20553 Delays in CRM Sync. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.70555556,"width":0.10555556,"height":0.20055556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delays in CRM Sync","depth":18,"bounds":{"left":0.59270835,"top":0.7161111,"width":0.06666667,"height":0.041666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Platform Stability, Edit Parent","depth":17,"bounds":{"left":0.59270835,"top":0.7677778,"width":0.09340278,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLATFORM STABILITY","depth":21,"bounds":{"left":0.5954861,"top":0.76944447,"width":0.087847225,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":0.7977778,"width":0.026041666,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20553","depth":17,"bounds":{"left":0.60659724,"top":0.87277776,"width":0.03923611,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20553","depth":19,"bounds":{"left":0.60659724,"top":0.87333333,"width":0.03923611,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"bounds":{"left":0.59826386,"top":0.8333333,"width":0.0052083335,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.91055554,"width":0.10555556,"height":0.08944446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Experiment with AI workflow for automated Dependabot fixes","depth":17,"bounds":{"left":0.59270835,"top":0.9211111,"width":0.057638887,"height":0.07888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IMPROVEMENT OF OUR EFFICIENCY","depth":18,"bounds":{"left":0.5954861,"top":0.9961111,"width":0.14270833,"height":0.003888905},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":1.0,"width":0.026041666,"height":-0.02444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20551","depth":17,"bounds":{"left":0.60659724,"top":1.0,"width":0.0375,"height":-0.09944439},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20551","depth":19,"bounds":{"left":0.60659724,"top":1.0,"width":0.0375,"height":-0.100000024},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":17,"bounds":{"left":0.59826386,"top":1.0,"width":0.0052083335,"height":-0.059999943},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20431","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20431","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Code Review","depth":16,"bounds":{"left":0.70590276,"top":0.37888888,"width":0.081597224,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CODE REVIEW","depth":18,"bounds":{"left":0.70590276,"top":0.37944445,"width":0.059375,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.7736111,"top":0.37944445,"width":0.0052083335,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.40555555,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.4211111,"width":0.10555556,"height":0.22277778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Evaluation for AI Activity Types","depth":18,"bounds":{"left":0.709375,"top":0.43166667,"width":0.06284722,"height":0.06388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Auto-detected activity type, Edit Parent","depth":17,"bounds":{"left":0.709375,"top":0.50555557,"width":0.094444446,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AUTO-DETECTED ACTIVITY TYPE","depth":21,"bounds":{"left":0.7121528,"top":0.50722224,"width":0.13263889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.53555554,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19798","depth":17,"bounds":{"left":0.72326386,"top":0.6105555,"width":0.0375,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19798","depth":19,"bounds":{"left":0.72326386,"top":0.6111111,"width":0.0375,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":17,"bounds":{"left":0.7152778,"top":0.5711111,"width":0.0048611113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"commit","depth":16,"bounds":{"left":0.73020834,"top":0.5661111,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.63277775,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.6483333,"width":0.10555556,"height":0.20055556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ Reports > Tracking","depth":18,"bounds":{"left":0.709375,"top":0.6588889,"width":0.059722222,"height":0.041666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"AJ Reports, Edit Parent","depth":17,"bounds":{"left":0.709375,"top":0.71055555,"width":0.054166667,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ REPORTS","depth":21,"bounds":{"left":0.7121528,"top":0.7122222,"width":0.048611112,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.7405556,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20543","depth":17,"bounds":{"left":0.72326386,"top":0.8155556,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543","depth":19,"bounds":{"left":0.72326386,"top":0.8161111,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.71597224,"top":0.7761111,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.73020834,"top":0.77111113,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.8377778,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.85333335,"width":0.10555556,"height":0.14666665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Prepare fallback with email for SSO for `persistent` name_id_format","depth":17,"bounds":{"left":0.709375,"top":0.86388886,"width":0.06979167,"height":0.13055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REDUCE CHURN","depth":18,"bounds":{"left":0.7121528,"top":0.9388889,"width":0.062152777,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.9672222,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20632","depth":17,"bounds":{"left":0.72326386,"top":1.0,"width":0.039930556,"height":-0.04222226},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20632","depth":19,"bounds":{"left":0.72326386,"top":1.0,"width":0.039930556,"height":-0.042777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5","depth":17,"bounds":{"left":0.7121528,"top":1.0,"width":0.012152778,"height":-0.0027778149},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Code Review","depth":16,"bounds":{"left":0.70381945,"top":1.0,"width":0.10555556,"height":-0.08000004},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.7274306,"top":1.0,"width":0.030902777,"height":-0.09055555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Blocked","depth":16,"bounds":{"left":0.8229167,"top":0.37888888,"width":0.03923611,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BLOCKED","depth":18,"bounds":{"left":0.8229167,"top":0.37944445,"width":0.03923611,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Blocked","depth":16,"bounds":{"left":0.8208333,"top":0.4211111,"width":0.10555556,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.84444445,"top":0.43166667,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"QA","depth":16,"bounds":{"left":0.93958336,"top":0.37888888,"width":0.012152778,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":18,"bounds":{"left":0.93958336,"top":0.37944445,"width":0.012152778,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in QA","depth":16,"bounds":{"left":0.9375,"top":0.4211111,"width":0.0625,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.9611111,"top":0.43166667,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"PO Acceptance","depth":16,"bounds":{"left":1.0,"top":0.37888888,"width":-0.056597233,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PO ACCEPTANCE","depth":18,"bounds":{"left":1.0,"top":0.37944445,"width":-0.056597233,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in PO Acceptance","depth":16,"bounds":{"left":1.0,"top":0.4211111,"width":-0.05451393,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":1.0,"top":0.43166667,"width":-0.078125,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Deploy","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DEPLOY","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-1730441124950655138
|
6402123763080822407
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8...
|
8103
|
|
8106
|
159
|
0
|
2026-04-14T06:34:55.928112+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148495928_m2.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.09355469,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.24882813,"top":1.0,"width":0.11796875,"height":-0.05486107},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.31230468,"top":1.0,"width":0.009375,"height":-0.05138886},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.08710937,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.4501953,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4642578,"top":1.0,"width":0.0125,"height":-0.04791665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.46113282,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.3314453,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.42832032,"top":1.0,"width":0.015625,"height":-0.09027779},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.44394532,"top":1.0,"width":0.015625,"height":-0.09027779},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.3533203,"top":0.24097222,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.3705078,"top":0.24097222,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"bounds":{"left":0.3939453,"top":0.24930556,"width":0.072265625,"height":0.03888889},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.3263672,"top":0.25138888,"width":0.0234375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"bounds":{"left":0.3939453,"top":0.25208333,"width":0.064648435,"height":0.033680554},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.45683593,"top":0.3159722,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.45683593,"top":0.31111112,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"bounds":{"left":0.35253906,"top":0.31805557,"width":0.036328126,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.3498047,"top":0.35416666,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.3498047,"top":0.3559028,"width":0.04824219,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"bounds":{"left":0.33691406,"top":0.3625,"width":0.13007812,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"bounds":{"left":0.33691406,"top":0.46388888,"width":0.12382813,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"bounds":{"left":0.33691406,"top":0.53541666,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"bounds":{"left":0.33691406,"top":0.53680557,"width":0.107617185,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"bounds":{"left":0.33691406,"top":0.5763889,"width":0.13085938,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"bounds":{"left":0.35097656,"top":0.6180556,"width":0.11835937,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"bounds":{"left":0.36074218,"top":0.63611114,"width":0.03828125,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.39902344,"top":0.63611114,"width":0.0015625,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"bounds":{"left":0.35097656,"top":0.6597222,"width":0.058203124,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"bounds":{"left":0.35097656,"top":0.68333334,"width":0.0859375,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"bounds":{"left":0.35097656,"top":0.70694447,"width":0.11835937,"height":0.08645833},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"bounds":{"left":0.33691406,"top":0.81458336,"width":0.13242188,"height":0.033333335},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.04511719,"height":0.014236111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"bounds":{"left":0.384375,"top":0.81701386,"width":0.045898438,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"bounds":{"left":0.33691406,"top":0.8159722,"width":0.09726562,"height":0.030902777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"bounds":{"left":0.33691406,"top":0.85555553,"width":0.13085938,"height":0.050347224},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"bounds":{"left":0.35097656,"top":0.9152778,"width":0.09101562,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"bounds":{"left":0.4152344,"top":0.934375,"width":0.039257813,"height":0.012847222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"bounds":{"left":0.35097656,"top":0.93333334,"width":0.1140625,"height":0.032291666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.35097656,"top":0.9704861,"width":0.113867186,"height":0.029513896},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.4091797,"top":0.9875,"width":0.04941406,"height":0.012499988},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.0126953125,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.36367187,"top":1.0,"width":0.0015625,"height":-0.0055555105},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.10976563,"height":-0.029166698},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.3533203,"top":1.0,"width":0.042578124,"height":-0.048263907},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.11484375,"height":-0.047222257},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.06503906,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.41835937,"top":1.0,"width":0.019726563,"height":-0.089930534},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.35097656,"top":1.0,"width":0.103515625,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.06840277},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4988281,"top":1.0,"width":0.019921875,"height":-0.08506942},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.4910156,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.4970703,"top":1.0,"width":0.04375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.50507814,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.51113284,"top":1.0,"width":0.051953126,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.52070314,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.5492188,"top":1.0,"width":0.09355469,"height":-0.05451393},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.6525391,"top":1.0,"width":0.035351563,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.6658203,"top":1.0,"width":0.017382812,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.6910156,"top":1.0,"width":0.042382814,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.7042969,"top":1.0,"width":0.024414062,"height":-0.055555582},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.7349609,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.7410156,"top":1.0,"width":0.03261719,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.74902344,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.75507814,"top":1.0,"width":0.011914062,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.76308596,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.7691406,"top":1.0,"width":0.02109375,"height":-0.055208325},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.77792966,"top":1.0,"width":0.0125,"height":-0.05034721},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.49570313,"top":1.0,"width":0.019140625,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5185547,"top":1.0,"width":0.001953125,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08680558},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.52421874,"top":1.0,"width":0.03730469,"height":-0.08923614},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-7921136512294133980
|
5247056016072146599
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev...
|
8104
|
|
8107
|
158
|
0
|
2026-04-14T06:34:56.139864+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148496139_m1.jpg...
|
Firefox
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedIssue=JY-20543...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8
JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.
Fix downtime during to feature flag release
SUPPORT TICKETS
Deployed...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.16631944,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.027777778,"top":0.08777778,"width":0.20972222,"height":0.015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.140625,"top":0.08222222,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.15486111,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.005902778,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.028819444,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.052083332,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.07534722,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.09861111,"top":0.9583333,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.38576388,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.4107639,"top":0.07666667,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.40520832,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.17465279,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.346875,"top":0.14444445,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.37465277,"top":0.14444445,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.165625,"top":0.20555556,"width":0.00069444446,"height":0.0011111111},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.165625,"top":0.20888889,"width":0.25069445,"height":0.035555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said in firefox can I add the icon for the pinend tab","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in firefox can I add the icon for the pinend tab","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, Firefox automatically uses the website's own logo (called a \"favicon\") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 1: Use a Browser Extension (Easiest)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 1: Use a Browser Extension (Easiest)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The simplest way to force a specific icon onto a tab is by using an extension.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Go to the Firefox Add-ons site and search for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tab Modifier","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Install the extension.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open the extension's settings.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Method 2: Use userChrome.css (Advanced)","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Method 2: Use","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Advanced)","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You first need to enable custom stylesheets by typing","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:config","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in your address bar, searching for","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toolkit.legacyUserProfileCustomizations.stylesheets","depth":27,"bounds":{"left":0.209375,"top":0.0,"width":0.20243056,"height":0.049444444},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and setting it to","depth":26,"bounds":{"left":0.31284723,"top":0.0,"width":0.087847225,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":26,"bounds":{"left":0.209375,"top":0.008888889,"width":0.022569444,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.23194444,"top":0.008888889,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open your Firefox profile folder (Go to","depth":26,"bounds":{"left":0.209375,"top":0.046666667,"width":0.19513889,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:support","depth":27,"bounds":{"left":0.21354167,"top":0.07722222,"width":0.07569444,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"> Profile Folder > Open Folder).","depth":26,"bounds":{"left":0.209375,"top":0.075555556,"width":0.20416667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a folder named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.115625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"chrome","depth":27,"bounds":{"left":0.32916668,"top":0.14388889,"width":0.035069443,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and inside it, create a file named","depth":26,"bounds":{"left":0.209375,"top":0.14222223,"width":0.18402778,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"userChrome.css","depth":27,"bounds":{"left":0.21354167,"top":0.20166667,"width":0.081597224,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.29930556,"top":0.2,"width":0.0027777778,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You can add CSS code targeting a specific website to change its icon. For example:","depth":26,"bounds":{"left":0.209375,"top":0.23777778,"width":0.19861111,"height":0.08055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS","depth":27,"bounds":{"left":0.21770833,"top":0.35555556,"width":0.019097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy code","depth":27,"bounds":{"left":0.38645834,"top":0.3427778,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".tabbrowser-tab","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[image*=","depth":27,"bounds":{"left":0.30520833,"top":0.4138889,"width":0.046527777,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"example.com\"","depth":27,"bounds":{"left":0.3517361,"top":0.4138889,"width":0.07604167,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":27,"bounds":{"left":0.42777777,"top":0.4138889,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".tab-icon-image","depth":27,"bounds":{"left":0.4392361,"top":0.4138889,"width":0.0875,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":27,"bounds":{"left":0.21770833,"top":0.4138889,"width":0.32083333,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"content","depth":27,"bounds":{"left":0.24097222,"top":0.4372222,"width":0.04097222,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":27,"bounds":{"left":0.28194445,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":27,"bounds":{"left":0.2934028,"top":0.4372222,"width":0.017708333,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"bounds":{"left":0.31111112,"top":0.4372222,"width":0.005902778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"file:///C:/path/to/your/icon.png\"","depth":27,"bounds":{"left":0.3170139,"top":0.4372222,"width":0.19826388,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"bounds":{"left":0.5152778,"top":0.4372222,"width":0.011458334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"!important","depth":27,"bounds":{"left":0.52673614,"top":0.4372222,"width":0.058333334,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";\n}","depth":27,"bounds":{"left":0.21770833,"top":0.4372222,"width":0.3732639,"height":0.04388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: This method requires a bit of technical comfort and managing file paths).","depth":24,"bounds":{"left":0.184375,"top":0.53333336,"width":0.22986111,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Troubleshooting: Is the icon missing?","depth":23,"bounds":{"left":0.184375,"top":0.6377778,"width":0.23541667,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Troubleshooting: Is the icon missing?","depth":24,"bounds":{"left":0.184375,"top":0.64,"width":0.20104167,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.","depth":24,"bounds":{"left":0.184375,"top":0.6766667,"width":0.22986111,"height":0.10944445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sometimes, it's just a browser glitch. You can try to fix a missing icon by:","depth":24,"bounds":{"left":0.184375,"top":0.81,"width":0.22847222,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unpinning the tab, refreshing the page (","depth":26,"bounds":{"left":0.20868056,"top":0.87666667,"width":0.19791667,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":27,"bounds":{"left":0.21666667,"top":0.9072222,"width":0.023611112,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":26,"bounds":{"left":0.24444444,"top":0.90555555,"width":0.011805556,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F5","depth":27,"bounds":{"left":0.26041666,"top":0.9072222,"width":0.011805556,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a hard refresh), and pinning it again.","depth":26,"bounds":{"left":0.20868056,"top":0.90555555,"width":0.19027779,"height":0.051666666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Clearing your browser cache.","depth":26,"bounds":{"left":0.20868056,"top":0.9722222,"width":0.14791666,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(Note: If you were asking if you can add a \"Pin Tab\"","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.2326389,"height":-0.018888831},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"shortcut button","depth":24,"bounds":{"left":0.21006945,"top":1.0,"width":0.08611111,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select \"Pin Tab\", or use the keyboard shortcut","depth":24,"bounds":{"left":0.184375,"top":1.0,"width":0.23541667,"height":-0.047777772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alt","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"P","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ctrl","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"M","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"depending on your OS and settings).","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.19409722,"top":0.7361111,"width":0.22222222,"height":0.026666667},"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.20798612,"top":0.7366667,"width":0.14618056,"height":0.025555555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.19201389,"top":0.7361111,"width":0.013888889,"height":0.026666667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.1857639,"top":0.7838889,"width":0.027777778,"height":0.044444446},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.21909723,"top":0.7838889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.33819443,"top":0.7827778,"width":0.05451389,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.34930557,"top":0.795,"width":0.015625,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"bounds":{"left":0.396875,"top":0.7827778,"width":0.027777778,"height":0.044444446},"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.","depth":17,"bounds":{"left":0.178125,"top":0.85555553,"width":0.25416666,"height":0.035},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"bounds":{"left":0.26319444,"top":0.89111114,"width":0.084027775,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.165625,"top":0.89,"width":0.090277776,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New","depth":7,"bounds":{"left":0.17881945,"top":0.92944443,"width":0.022569444,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.17743056,"top":0.9405556,"width":0.11180556,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.1892361,"top":0.94777775,"width":0.088194445,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skip to:","depth":9,"bounds":{"left":0.4722222,"top":0.10944445,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"bounds":{"left":0.4722222,"top":0.13611111,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"bounds":{"left":0.4722222,"top":0.16277778,"width":0.035416666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"bounds":{"left":0.4722222,"top":0.18944444,"width":0.061458334,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"bounds":{"left":0.4722222,"top":0.21611111,"width":0.079166666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand sidebar [","depth":9,"bounds":{"left":0.45833334,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar [","depth":11,"bounds":{"left":0.46909723,"top":0.08833333,"width":0.07777778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"bounds":{"left":0.48333332,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"bounds":{"left":0.49409723,"top":0.08833333,"width":0.09236111,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"bounds":{"left":0.51111114,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":10,"bounds":{"left":0.56180555,"top":0.08722222,"width":0.16631944,"height":0.022222223},"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"bounds":{"left":0.74548614,"top":0.08055556,"width":0.06284722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"bounds":{"left":0.7690972,"top":0.08888889,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"bounds":{"left":0.8138889,"top":0.08055556,"width":0.07534722,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"bounds":{"left":0.8375,"top":0.08888889,"width":0.043402776,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"bounds":{"left":0.8920139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"bounds":{"left":0.9027778,"top":0.08833333,"width":0.05798611,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"bounds":{"left":0.9170139,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"bounds":{"left":0.92777777,"top":0.08833333,"width":0.021180555,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"bounds":{"left":0.94201386,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.9527778,"top":0.08833333,"width":0.0375,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.9684028,"top":0.08055556,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Spaces","depth":13,"bounds":{"left":0.46666667,"top":0.1388889,"width":0.034027778,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"bounds":{"left":0.46666667,"top":0.14277777,"width":0.034027778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.5072917,"top":0.14277777,"width":0.0034722222,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"bounds":{"left":0.5173611,"top":0.1388889,"width":0.06631944,"height":0.026666667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"bounds":{"left":0.5173611,"top":0.14277777,"width":0.06631944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.026666667},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"bounds":{"left":0.46666667,"top":0.17,"width":0.09583333,"height":0.027222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Link contributing teams","depth":10,"bounds":{"left":0.56666666,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Board actions","depth":10,"bounds":{"left":0.59305555,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"bounds":{"left":0.878125,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"bounds":{"left":0.9059028,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"bounds":{"left":0.93368053,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"bounds":{"left":0.9614583,"top":0.16555555,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"bounds":{"left":0.4611111,"top":0.20555556,"width":0.075,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"bounds":{"left":0.48472223,"top":0.21388888,"width":0.044444446,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"bounds":{"left":0.5388889,"top":0.20555556,"width":0.07013889,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"bounds":{"left":0.5625,"top":0.21388888,"width":0.039583333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"bounds":{"left":0.61180556,"top":0.20555556,"width":0.067708336,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"bounds":{"left":0.6354167,"top":0.21388888,"width":0.03715278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"bounds":{"left":0.6822917,"top":0.20555556,"width":0.094444446,"height":0.035555556},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"bounds":{"left":0.70590276,"top":0.21388888,"width":0.06388889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"bounds":{"left":0.7795139,"top":0.20555556,"width":0.072569445,"height":0.035555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"bounds":{"left":0.803125,"top":0.21388888,"width":0.042013887,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"15 more tabs","depth":11,"bounds":{"left":0.85486114,"top":0.20555556,"width":0.05451389,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"bounds":{"left":0.86180556,"top":0.21388888,"width":0.023958333,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9+","depth":13,"bounds":{"left":0.89166665,"top":0.215,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"bounds":{"left":0.91215277,"top":0.21,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"bounds":{"left":0.46666667,"top":0.32666665,"width":0.37881944,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"bounds":{"left":0.48402777,"top":0.30722222,"width":0.10555556,"height":0.03722222},"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"bounds":{"left":0.6,"top":0.30944446,"width":0.08090278,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"bounds":{"left":0.6027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"bounds":{"left":0.61944443,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"bounds":{"left":0.63611114,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"bounds":{"left":0.6527778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Yankov","depth":11,"bounds":{"left":0.66944444,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"bounds":{"left":0.6861111,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"bounds":{"left":0.7027778,"top":0.3077778,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"bounds":{"left":0.7277778,"top":0.3077778,"width":0.048958335,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"bounds":{"left":0.7361111,"top":0.31611112,"width":0.019791666,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"bounds":{"left":0.78229165,"top":0.3077778,"width":0.052430555,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"bounds":{"left":0.790625,"top":0.31611112,"width":0.023263888,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Label","depth":13,"bounds":{"left":0.8402778,"top":0.3077778,"width":0.054166667,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Label","depth":16,"bounds":{"left":0.8486111,"top":0.31611112,"width":0.025,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More","depth":12,"bounds":{"left":0.8972222,"top":0.3077778,"width":0.05347222,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"bounds":{"left":0.90555555,"top":0.31611112,"width":0.024305556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"bounds":{"left":0.6892361,"top":0.26333332,"width":0.090625,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Complete sprint","depth":12,"bounds":{"left":0.69756943,"top":0.27166668,"width":0.07395833,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Sprint details","depth":10,"bounds":{"left":0.78541666,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint details","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Group by Queries","depth":10,"bounds":{"left":0.81319445,"top":0.26333332,"width":0.08715278,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Group","depth":13,"bounds":{"left":0.8215278,"top":0.27166668,"width":0.028819444,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": Queries","depth":13,"bounds":{"left":0.8503472,"top":0.27166668,"width":0.041666668,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sprint insights","depth":10,"bounds":{"left":0.9059028,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sprint insights","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"View settings","depth":10,"bounds":{"left":0.93368053,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More actions","depth":11,"bounds":{"left":0.9614583,"top":0.26333332,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Ready For DEV","depth":16,"bounds":{"left":0.4722222,"top":0.37888888,"width":0.088194445,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"READY FOR DEV","depth":18,"bounds":{"left":0.4722222,"top":0.37944445,"width":0.065972224,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.54756945,"top":0.37944445,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.47013888,"top":0.4211111,"width":0.10555556,"height":0.22222222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Investigate and fix why exceed Fontawesome package limits","depth":17,"bounds":{"left":0.47569445,"top":0.43166667,"width":0.07152778,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"bounds":{"left":0.47847223,"top":0.50666666,"width":0.060763888,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ready for Dev","depth":17,"bounds":{"left":0.47569445,"top":0.535,"width":0.05590278,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20564","depth":17,"bounds":{"left":0.48958334,"top":0.61,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20564","depth":19,"bounds":{"left":0.48958334,"top":0.6105555,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.48229167,"top":0.57055557,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.4965278,"top":0.5655556,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"In DEV","depth":16,"bounds":{"left":0.58923614,"top":0.37888888,"width":0.05138889,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IN DEV","depth":18,"bounds":{"left":0.58923614,"top":0.37944445,"width":0.029166667,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.6267361,"top":0.37944445,"width":0.0055555557,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.4211111,"width":0.10555556,"height":0.28},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Part2] Automated reports with Ask Jiminny","depth":17,"bounds":{"left":0.59270835,"top":0.43166667,"width":0.055208333,"height":0.08611111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AJ REPORTS","depth":18,"bounds":{"left":0.5954861,"top":0.50666666,"width":0.04826389,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":0.535,"width":0.026041666,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI","depth":21,"bounds":{"left":0.59618056,"top":0.5605556,"width":0.010763889,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BE","depth":21,"bounds":{"left":0.61944443,"top":0.5605556,"width":0.012152778,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FE","depth":21,"bounds":{"left":0.6440972,"top":0.5605556,"width":0.011805556,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"bounds":{"left":0.59618056,"top":0.59166664,"width":0.013541667,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-18909","depth":17,"bounds":{"left":0.60659724,"top":0.6677778,"width":0.038194444,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909","depth":19,"bounds":{"left":0.60659724,"top":0.66833335,"width":0.038194444,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11.5","depth":17,"bounds":{"left":0.5954861,"top":0.62833333,"width":0.013888889,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.6163194,"top":0.62333333,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20553 Delays in CRM Sync. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.70555556,"width":0.10555556,"height":0.20055556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delays in CRM Sync","depth":18,"bounds":{"left":0.59270835,"top":0.7161111,"width":0.06666667,"height":0.041666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Platform Stability, Edit Parent","depth":17,"bounds":{"left":0.59270835,"top":0.7677778,"width":0.09340278,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLATFORM STABILITY","depth":21,"bounds":{"left":0.5954861,"top":0.76944447,"width":0.087847225,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":0.7977778,"width":0.026041666,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20553","depth":17,"bounds":{"left":0.60659724,"top":0.87277776,"width":0.03923611,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20553","depth":19,"bounds":{"left":0.60659724,"top":0.87333333,"width":0.03923611,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"bounds":{"left":0.59826386,"top":0.8333333,"width":0.0052083335,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.5871528,"top":0.91055554,"width":0.10555556,"height":0.08944446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Experiment with AI workflow for automated Dependabot fixes","depth":17,"bounds":{"left":0.59270835,"top":0.9211111,"width":0.057638887,"height":0.07888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IMPROVEMENT OF OUR EFFICIENCY","depth":18,"bounds":{"left":0.5954861,"top":0.9961111,"width":0.14270833,"height":0.003888905},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"bounds":{"left":0.59270835,"top":1.0,"width":0.026041666,"height":-0.02444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20551","depth":17,"bounds":{"left":0.60659724,"top":1.0,"width":0.0375,"height":-0.09944439},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20551","depth":19,"bounds":{"left":0.60659724,"top":1.0,"width":0.0375,"height":-0.100000024},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":17,"bounds":{"left":0.59826386,"top":1.0,"width":0.0052083335,"height":-0.059999943},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MAINTENANCE","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In Dev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20431","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20431","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Code Review","depth":16,"bounds":{"left":0.70590276,"top":0.37888888,"width":0.081597224,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CODE REVIEW","depth":18,"bounds":{"left":0.70590276,"top":0.37944445,"width":0.059375,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.7736111,"top":0.37944445,"width":0.0052083335,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.40555555,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.4211111,"width":0.10555556,"height":0.22277778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Evaluation for AI Activity Types","depth":18,"bounds":{"left":0.709375,"top":0.43166667,"width":0.06284722,"height":0.06388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Auto-detected activity type, Edit Parent","depth":17,"bounds":{"left":0.709375,"top":0.50555557,"width":0.094444446,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AUTO-DETECTED ACTIVITY TYPE","depth":21,"bounds":{"left":0.7121528,"top":0.50722224,"width":0.13263889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.53555554,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19798","depth":17,"bounds":{"left":0.72326386,"top":0.6105555,"width":0.0375,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19798","depth":19,"bounds":{"left":0.72326386,"top":0.6111111,"width":0.0375,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":17,"bounds":{"left":0.7152778,"top":0.5711111,"width":0.0048611113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"commit","depth":16,"bounds":{"left":0.73020834,"top":0.5661111,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.63277775,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.6483333,"width":0.10555556,"height":0.20055556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ Reports > Tracking","depth":18,"bounds":{"left":0.709375,"top":0.6588889,"width":0.059722222,"height":0.041666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"AJ Reports, Edit Parent","depth":17,"bounds":{"left":0.709375,"top":0.71055555,"width":0.054166667,"height":0.018333333},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AJ REPORTS","depth":21,"bounds":{"left":0.7121528,"top":0.7122222,"width":0.048611112,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.7405556,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20543","depth":17,"bounds":{"left":0.72326386,"top":0.8155556,"width":0.039930556,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543","depth":19,"bounds":{"left":0.72326386,"top":0.8161111,"width":0.039930556,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.71597224,"top":0.7761111,"width":0.0034722222,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"pull request","depth":16,"bounds":{"left":0.73020834,"top":0.77111113,"width":0.016666668,"height":0.026666667},"role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create work item","depth":16,"bounds":{"left":0.6954861,"top":0.8377778,"width":0.016666668,"height":0.026666667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.","depth":16,"bounds":{"left":0.70381945,"top":0.85333335,"width":0.10555556,"height":0.14666665},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Prepare fallback with email for SSO for `persistent` name_id_format","depth":17,"bounds":{"left":0.709375,"top":0.86388886,"width":0.06979167,"height":0.13055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REDUCE CHURN","depth":18,"bounds":{"left":0.7121528,"top":0.9388889,"width":0.062152777,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Review","depth":17,"bounds":{"left":0.709375,"top":0.9672222,"width":0.051736113,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20632","depth":17,"bounds":{"left":0.72326386,"top":1.0,"width":0.039930556,"height":-0.04222226},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20632","depth":19,"bounds":{"left":0.72326386,"top":1.0,"width":0.039930556,"height":-0.042777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5","depth":17,"bounds":{"left":0.7121528,"top":1.0,"width":0.012152778,"height":-0.0027778149},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Code Review","depth":16,"bounds":{"left":0.70381945,"top":1.0,"width":0.10555556,"height":-0.08000004},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.7274306,"top":1.0,"width":0.030902777,"height":-0.09055555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Blocked","depth":16,"bounds":{"left":0.8229167,"top":0.37888888,"width":0.03923611,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BLOCKED","depth":18,"bounds":{"left":0.8229167,"top":0.37944445,"width":0.03923611,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in Blocked","depth":16,"bounds":{"left":0.8208333,"top":0.4211111,"width":0.10555556,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.84444445,"top":0.43166667,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"QA","depth":16,"bounds":{"left":0.93958336,"top":0.37888888,"width":0.012152778,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QA","depth":18,"bounds":{"left":0.93958336,"top":0.37944445,"width":0.012152778,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in QA","depth":16,"bounds":{"left":0.9375,"top":0.4211111,"width":0.0625,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":0.9611111,"top":0.43166667,"width":0.030902777,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"PO Acceptance","depth":16,"bounds":{"left":1.0,"top":0.37888888,"width":-0.056597233,"height":0.017777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PO ACCEPTANCE","depth":18,"bounds":{"left":1.0,"top":0.37944445,"width":-0.056597233,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create work item in PO Acceptance","depth":16,"bounds":{"left":1.0,"top":0.4211111,"width":-0.05451393,"height":0.04},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":19,"bounds":{"left":1.0,"top":0.43166667,"width":-0.078125,"height":0.019444445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Deploy","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DEPLOY","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Fix downtime during to feature flag release","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SUPPORT TICKETS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deployed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4581087742709322996
|
6402088578708733575
|
idle
|
accessibility
|
NULL
|
Platform Sprint 1 Q2 - Platform Team - Scrum Board Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said in firefox can I add the icon for the pinend tab
You said
in firefox can I add the icon for the pinend tab
Listen
Show more options
Show thinking
Gemini said
Gemini said
By default, Firefox automatically uses the website's own logo (called a "favicon") as the icon for a pinned tab. There is no built-in setting in Firefox to just click and upload your own custom picture for a pinned tab.
However, if you want to add or change the icon for a specific pinned tab, you can do it using a couple of workarounds:
Method 1: Use a Browser Extension (Easiest)
Method 1: Use a Browser Extension (Easiest)
The simplest way to force a specific icon onto a tab is by using an extension.
Go to the Firefox Add-ons site and search for
Tab Modifier
.
Install the extension.
Open the extension's settings.
You can create a rule for the specific website you have pinned. You'll be able to paste the URL of an image you want to use, and the extension will replace the default tab icon with your chosen image.
Method 2: Use userChrome.css (Advanced)
Method 2: Use
userChrome.css
(Advanced)
If you are comfortable tweaking Firefox's code, you can change tab icons using custom CSS.
You first need to enable custom stylesheets by typing
about:config
in your address bar, searching for
toolkit.legacyUserProfileCustomizations.stylesheets
, and setting it to
true
.
Open your Firefox profile folder (Go to
about:support
> Profile Folder > Open Folder).
Create a folder named
chrome
and inside it, create a file named
userChrome.css
.
You can add CSS code targeting a specific website to change its icon. For example:
CSS
Copy code
.tabbrowser-tab
[image*=
"example.com"
]
.tab-icon-image
{
content
:
url
(
"file:///C:/path/to/your/icon.png"
)
!important
;
}
(Note: This method requires a bit of technical comfort and managing file paths).
Troubleshooting: Is the icon missing?
Troubleshooting: Is the icon missing?
If your pinned tab just shows a generic globe or document icon instead of the site's logo, it usually means the website developers forgot to add a favicon to their site.
Sometimes, it's just a browser glitch. You can try to fix a missing icon by:
Unpinning the tab, refreshing the page (
Ctrl
+
F5
for a hard refresh), and pinning it again.
Clearing your browser cache.
(Note: If you were asking if you can add a "Pin Tab"
shortcut button
to your main Firefox toolbar to make pinning easier, Firefox doesn't have a drag-and-drop button for this. Instead, you can right-click any tab and select "Pin Tab", or use the keyboard shortcut
Alt
+
P
/
Ctrl
+
M
depending on your OS and settings).
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Your Jiminny chats aren’t used to improve our models. Gemini is AI and can make mistakes, including about people.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
New
Summarize page
Summarize page
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Expand sidebar [
Expand sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Link contributing teams
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
15 more tabs
More
9+
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Nikolay Yankov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Label
Label
More
More
Complete sprint
Complete sprint
Sprint details
Sprint details
Group by Queries
Group
: Queries
Sprint insights
Sprint insights
View settings
More actions
More actions
Ready For DEV
READY FOR DEV
1
JY-20564 Investigate and fix why exceed Fontawesome package limits. Use the enter key to load the work item.
Investigate and fix why exceed Fontawesome package limits
MAINTENANCE
Ready for Dev
JY-20564
JY-20564
1
pull request
In DEV
IN DEV
4
JY-18909 [Part2] Automated reports with Ask Jiminny. Use the enter key to load the work item.
[Part2] Automated reports with Ask Jiminny
AJ REPORTS
In Dev
AI
BE
FE
QA
JY-18909
JY-18909
11.5
pull request
JY-20553 Delays in CRM Sync. Use the enter key to load the work item.
Delays in CRM Sync
Platform Stability, Edit Parent
PLATFORM STABILITY
In Dev
JY-20553
JY-20553
3
JY-20551 Experiment with AI workflow for automated Dependabot fixes. Use the enter key to load the work item.
Experiment with AI workflow for automated Dependabot fixes
IMPROVEMENT OF OUR EFFICIENCY
In Dev
JY-20551
JY-20551
2
JY-20431 Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3. Use the enter key to load the work item.
Fix and Stabilize Mobile Test Suite for Android and iOS using new mobile user - part 3
MAINTENANCE
In Dev
QA
JY-20431
JY-20431
3
Code Review
CODE REVIEW
3
Create work item
JY-19798 Evaluation for AI Activity Types. Use the enter key to load the work item.
Evaluation for AI Activity Types
Auto-detected activity type, Edit Parent
AUTO-DETECTED ACTIVITY TYPE
Code Review
JY-19798
JY-19798
5
commit
Create work item
JY-20543 AJ Reports > Tracking. Use the enter key to load the work item.
AJ Reports > Tracking
AJ Reports, Edit Parent
AJ REPORTS
Code Review
JY-20543
JY-20543
1
pull request
Create work item
JY-20632 Prepare fallback with email for SSO for `persistent` name_id_format. Use the enter key to load the work item.
Prepare fallback with email for SSO for `persistent` name_id_format
REDUCE CHURN
Code Review
JY-20632
JY-20632
0.5
Create work item in Code Review
Create
Blocked
BLOCKED
Create work item in Blocked
Create
QA
QA
Create work item in QA
Create
PO Acceptance
PO ACCEPTANCE
Create work item in PO Acceptance
Create
Deploy
DEPLOY
8
JY-20565 Fix downtime during to feature flag release. Use the enter key to load the work item.
Fix downtime during to feature flag release
SUPPORT TICKETS
Deployed...
|
NULL
|
|
8189
|
NULL
|
0
|
2026-04-14T06:39:27.688095+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148767688_m2.jpg...
|
Control Centre
|
Control Centre
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Wi‑Fi
Focus
Bluetooth
AirDrop
Stage Manager
Screen Wi‑Fi
Focus
Bluetooth
AirDrop
Stage Manager
Screen Mirroring
Display
Sound
Airplay Audio
Ukrajinu vidí ako obeť, no do EÚ ju pustí až po referende. Čo víťazstvo Magyara znamená pre Kyjiv, Mirek Tóda – Denník N
play
next...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Wi‑Fi","depth":2,"bounds":{"left":0.6808594,"top":1.0,"width":0.05234375,"height":-0.03229165},"automation_id":"controlcenter-wifi","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"Focus","depth":2,"bounds":{"left":0.73710936,"top":1.0,"width":0.05234375,"height":-0.027777791},"automation_id":"controlcenter-focus-modes","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"Bluetooth","depth":2,"bounds":{"left":0.6808594,"top":1.0,"width":0.04921875,"height":-0.06006944},"automation_id":"controlcenter-bluetooth","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"AirDrop","depth":2,"bounds":{"left":0.6808594,"top":1.0,"width":0.05234375,"height":-0.08784723},"automation_id":"controlcenter-airdrop","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXButton","text":"Stage Manager","depth":2,"bounds":{"left":0.740918,"top":1.0,"width":0.016601562,"height":-0.084375024},"automation_id":"controlcenter-stagemanager","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXButton","text":"Screen Mirroring","depth":2,"bounds":{"left":0.76523435,"top":1.0,"width":0.02421875,"height":-0.07777774},"automation_id":"controlcenter-screen-mirroring","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXStaticText","text":"Display","depth":3,"role_description":"text"},{"role":"AXStaticText","text":"Sound","depth":2,"automation_id":"controlcenter-volume","role_description":"text"},{"role":"AXCheckBox","text":"Airplay Audio","depth":2,"automation_id":"controlcenter-airplay","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXStaticText","text":"Ukrajinu vidí ako obeť, no do EÚ ju pustí až po referende. Čo víťazstvo Magyara znamená pre Kyjiv, Mirek Tóda – Denník N","depth":2,"role_description":"text"},{"role":"AXButton","text":"play","depth":2,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"next","depth":2,"role_description":"button","is_enabled":false}]...
|
6805899425386668866
|
6790485527967490544
|
click
|
accessibility
|
NULL
|
Wi‑Fi
Focus
Bluetooth
AirDrop
Stage Manager
Screen Wi‑Fi
Focus
Bluetooth
AirDrop
Stage Manager
Screen Mirroring
Display
Sound
Airplay Audio
Ukrajinu vidí ako obeť, no do EÚ ju pustí až po referende. Čo víťazstvo Magyara znamená pre Kyjiv, Mirek Tóda – Denník N
play
next...
|
NULL
|
|
8190
|
NULL
|
0
|
2026-04-14T06:39:30.693517+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148770693_m1.jpg...
|
Control Centre
|
Control Centre
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Bluetooth
Bluetooth
Devices
M720 Triathlon, 100%
M Bluetooth
Bluetooth
Devices
M720 Triathlon, 100%
Magic Keyboard with Numeric Keypad, 38%
soundcore AeroClip, 70%
LakyLak bose qc35 II
Lukas’s Magic Mouse
Magic Keyboard
Soundcore Life Dot 2 NC
Bluetooth Settings…...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Bluetooth","depth":2,"bounds":{"left":0.73368055,"top":0.04777778,"width":0.042708334,"height":0.017777778},"automation_id":"bluetooth-header","role_description":"text"},{"role":"AXCheckBox","text":"Bluetooth","depth":2,"bounds":{"left":0.9527778,"top":0.044444446,"width":0.02638889,"height":0.024444444},"automation_id":"bluetooth-header","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXHeading","text":"Devices","depth":3,"bounds":{"left":0.73368055,"top":0.090555556,"width":0.032291666,"height":0.016666668},"role_description":"heading"},{"role":"AXCheckBox","text":"M720 Triathlon, 100%","depth":3,"bounds":{"left":0.7274306,"top":0.11111111,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-M720 Triathlon","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"Magic Keyboard with Numeric Keypad, 38%","depth":3,"bounds":{"left":0.7274306,"top":0.14666666,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-Magic Keyboard with Numeric Keypad","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"soundcore AeroClip, 70%","depth":3,"bounds":{"left":0.7274306,"top":0.18222222,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-soundcore AeroClip","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"LakyLak bose qc35 II","depth":3,"bounds":{"left":0.7274306,"top":0.21777777,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-LakyLak bose qc35 II","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"Lukas’s Magic Mouse","depth":3,"bounds":{"left":0.7274306,"top":0.25333333,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-Lukas’s Magic Mouse","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"Magic Keyboard","depth":3,"bounds":{"left":0.7274306,"top":0.2888889,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-Magic Keyboard","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXCheckBox","text":"Soundcore Life Dot 2 NC","depth":3,"bounds":{"left":0.7274306,"top":0.32444444,"width":0.2579861,"height":0.035555556},"automation_id":"bluetooth-device-Soundcore Life Dot 2 NC","role_description":"toggle button","subrole":"AXToggle","is_enabled":true},{"role":"AXButton","text":"Bluetooth Settings…","depth":2,"bounds":{"left":0.7274306,"top":0.37555555,"width":0.09791667,"height":0.017777778},"role_description":"button","is_enabled":true,"is_focused":false}]...
|
4170583463062515771
|
1917355976842612124
|
visual_change
|
hybrid
|
NULL
|
Bluetooth
Bluetooth
Devices
M720 Triathlon, 100%
M Bluetooth
Bluetooth
Devices
M720 Triathlon, 100%
Magic Keyboard with Numeric Keypad, 38%
soundcore AeroClip, 70%
LakyLak bose qc35 II
Lukas’s Magic Mouse
Magic Keyboard
Soundcore Life Dot 2 NC
Bluetooth Settings…
BitwardenFileEditViewAccountWindowHelpahsl100% <•Tue 14 Apr 9:39:30-zshBluetoothDOCKER• 881you are usinglocalDEV (-zsh)О ₴2processing. all your dataAPP (-zsh)• *3staysonyour computer.-zsh• ×4-zsh|• 85-zshDeviceswarning: telemetry is enabled.only error-levelto disable, usethe --disable-telemetry flag.data willbe sent.M720 TriathlonMagic Keyboard with Numeric Keypadchecklatestchangeshere:https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFOsoundcore AeroClipscreenpipe:starting UIevent capture2026-04-14T09:23:19.024042ZINFOscreenpipe_core::pipes:pipe scheduler started (generation 2)LakyLak bose qc35 ll2026-04-14T09:23:19.034460ZWARNscreenpipe:piagent install failed: bun not found - installfrom https://bun.sh2026-04-14T09:23:19.035048ZINFOscreenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(Lukas's Magic Mouse2026-04-14709:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting Ul event capture2026-04-14T09:23:19.057947ZINFOscreenpipe_engine::ui_recorder: UIMagic Keyboardrecording session started: c7672ba6-54dd-483e-9512-949b51a2bc2026-04-14T09:23:19.058064ZINFOscreenpipe_engine::calendar_speaker_id: speakeridentification: started(user_name=<not set>)2026-04-14709:23:19.0581142INFOSoundcore Life Dot 2 NCscreenpipe_engine: :hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-13 06:23:19.0581032026-04-14T09:23:19.062532ZINFOscreenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiBluetooth Settings...2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:30302026-04-14T09:23:19.080775ZINFOscreenpipe_connect: :mdns: mdns: advertising screenpipe on port 30302026-04-14T09:23:19.697314ZINFOscreenpipe_engine::hot2026-04-14T09:23:19.985445ZINFOframe_cache:hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTCscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFO2026-04-14T09:23:20.492664Zscreenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 2 (2560x1440)INFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)2026-04-14T09:23:20.492694ZINFOscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5seconds)2026-04-14T09:23:20.492726ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFO2026-04-14T09:23:22.387611ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900,sck_rs::stream_manager:2fps, 0 excluded)2026-04-14T09:23:22.954948ZINFOpersistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)screenpipe_engine::event_driven_capture: startup capture for monitor 1:frame_id=8037, dur=1082ms2026-04-14T09:23:23.488645ZINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe:local retention auto-enabled (14 days)2026-04-14T09:24:19.745739ZINFO2026-04-14T09:24:23.350916ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible framesscreenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 6.7MB 2.6MB (2.6x), 51 JPEGs deleted2026-04-14T09:24:26.531119ZINFOMM (2.7), 55 PPESS deetedscreenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted2026-04-14T09:28:19.055456ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-14T09:28:54.061635ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)2026-04-14T09:29:26.561625ZINFO2026-04-14T09:33:54.056707Zscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible framesINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)2026-04-14T09:34:26.581293ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames2026-04-14T09:34:27.123519ZINFOscreenpipe_engine::snapshot_compactzon: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x), 4 JPEGS deleted2026-04-14T09:34:28.092531ZINFO2026-04-14T09:38:54.029363ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB→ 0.8MB (1.8x), 7 JPEGs deleted2026-04-14T09:39:28.082314ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:38:54.029346+00:00 (14d retention)screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames2026-04-14T09:39:29.343941ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.0MB 0.7MB (6.0x), 18 JPEGs deleted100% C38% •70%•...
|
NULL
|
|
8191
|
160
|
0
|
2026-04-14T06:39:37.840027+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148777840_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
BitwardenFileEditViewAccountWindowHelpabl100% CTue BitwardenFileEditViewAccountWindowHelpabl100% CTue 14 Apr 9:39:37-zshBluetoothDOCKER• 881DEV (-zsh)О ₴2APP (-zsh)• xз-zsh• x4|-zsh|• 85-zshDeviceswarning:telemetry isenabled.onlyerror-leveldisable, usethe --disable-telemetry flag.data will be sent.M720 TriathlonMagic Keyboard with Numeric Keypadchecklatestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFOscreenpipe:starting UIevent capture2026-04-14T09:23:19.024042Zsoundcore AeroClipINFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-14T09:23:19.034460ZWARNscreenpipe:pi agent install failed: bun not foundinstall from https://bun.shLakyLak bose qc35 ll2026-04-14T09:23:19.035048ZINFOscreenpipe_engine::power::manager:initial power profile: Performance (on_ac=true, battery=Some(2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting UI event captureLukas's Magic Mouse2026-04-14709:23:19.057947ZINFOscreenpipe_engine::ui_recorder: Ul recording session started: c7672ba6-54dd-483e-9512-949b51a2bc2026-04-14T09:23:19.058064ZINFOMagic Keyboardscreenpipe_engine::calendar_speaker_id: speakeridentification:started(user_name=<not set>)2026-04-14T09:23:19.058114ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-1306:23:19.0581032026-04-14709:23:19.0625322Soundcore Life Dot 2 NCINFOscreenpipe_engine: :meeting_detector: meeting v2: detection loop started (base_interval=5s, profi2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030Bluetooth Settings...2026-04-14T09:23:19.080775ZINFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-14T09:23:19.697314ZINFOscreenpipe_2026-04-14T09:23:19.985445ZINFOengine: :hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTCscreenpipe.engine::vision_manager: :manager: Starting vision recording for monitor 1 (1440x900)2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture: event-driven capture startedfor monitor 1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)2026-04-14T09:23:20.492664ZINFO2026-04-14T09:23:20.492694Zscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)INFOscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)2026-04-14T09:23:20.492726ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)2026-04-14T09:23:22.387611ZINFOsck_rs::stream_manager:persistent2026-04-14T09:23:22.954948ZINFOSCK stream started for display 2 (2560x1440, 2fps, 0 excluded)screenpipe_engine::event_driven_capture: startup capture for monitor 1:2026-04-14T09:23:23.488645Zframe_id=8037, dur=1082msINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe:local retention auto-enabled (14 days)2026-04-14T09:24:19.745739ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: found 108 eligible frames2026-04-14T09:24:23.350916ZINFO2026-04-14T09:24:26.531119ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGSdeletedscreenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted2026-04-14T09:28:19.055456ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-14T09:28:54.061635ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)2026-04-14T09:29:26.561625ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames2026-04-14T09:33:54.056707ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)2026-04-14T09:34:26.581293ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames2026-04-14T09:34:27.123519ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x),4 JPEGs deleted2026-04-14T09:34:28.092531ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.8x),7 JPEGS deleted2026-04-14T09:38:54.029363ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31106:38:54.029346+00:00 (14d retention)2026-04-14T09:39:28.082314ZINFO2026-04-14T09:39:29.3439417INFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 40eligible framesscreenpipe_engine::snapshot_compaction: snapshotcompaction: 18 frames, 4.0MB 0.7MB (6.0x), 18 JPEGs deleted2026-04-14T09:39:30.750250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.8MB (4.5x), 20 JPEGs deleted100% C38% •70%•...
|
NULL
|
-6509913759129174552
|
NULL
|
click
|
ocr
|
NULL
|
BitwardenFileEditViewAccountWindowHelpabl100% CTue BitwardenFileEditViewAccountWindowHelpabl100% CTue 14 Apr 9:39:37-zshBluetoothDOCKER• 881DEV (-zsh)О ₴2APP (-zsh)• xз-zsh• x4|-zsh|• 85-zshDeviceswarning:telemetry isenabled.onlyerror-leveldisable, usethe --disable-telemetry flag.data will be sent.M720 TriathlonMagic Keyboard with Numeric Keypadchecklatestchanges here:https://github.com/screenpipe/screenpipe/releases2026-04-14T09:23:19.025225ZINFOscreenpipe:starting UIevent capture2026-04-14T09:23:19.024042Zsoundcore AeroClipINFOscreenpipe_core::pipes:pipe scheduler started (generation 2)2026-04-14T09:23:19.034460ZWARNscreenpipe:pi agent install failed: bun not foundinstall from https://bun.shLakyLak bose qc35 ll2026-04-14T09:23:19.035048ZINFOscreenpipe_engine::power::manager:initial power profile: Performance (on_ac=true, battery=Some(2026-04-14T09:23:19.041739ZINFOscreenpipe_engine::ui_recorder: Starting UI event captureLukas's Magic Mouse2026-04-14709:23:19.057947ZINFOscreenpipe_engine::ui_recorder: Ul recording session started: c7672ba6-54dd-483e-9512-949b51a2bc2026-04-14T09:23:19.058064ZINFOMagic Keyboardscreenpipe_engine::calendar_speaker_id: speakeridentification:started(user_name=<not set>)2026-04-14T09:23:19.058114ZINFOscreenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-1306:23:19.0581032026-04-14709:23:19.0625322Soundcore Life Dot 2 NCINFOscreenpipe_engine: :meeting_detector: meeting v2: detection loop started (base_interval=5s, profi2026-04-14T09:23:19.066551ZINFOscreenpipe_engine::server: Server listening on [IP_ADDRESS]:3030Bluetooth Settings...2026-04-14T09:23:19.080775ZINFOscreenpipe_connect::mdns: mdns: advertising screenpipe on port 30302026-04-14T09:23:19.697314ZINFOscreenpipe_2026-04-14T09:23:19.985445ZINFOengine: :hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTCscreenpipe.engine::vision_manager: :manager: Starting vision recording for monitor 1 (1440x900)2026-04-14T09:23:19.985474ZINFOscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)2026-04-14T09:23:19.985515ZINFOscreenpipe_engine::event_driven_capture: event-driven capture startedfor monitor 1 (device: monitor_1)2026-04-14T09:23:20.492622ZINFOscreenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)2026-04-14T09:23:20.492664ZINFO2026-04-14T09:23:20.492694Zscreenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)INFOscreenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)2026-04-14T09:23:20.492726ZINFOscreenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)2026-04-14T09:23:21.313246ZINFOsck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)2026-04-14T09:23:22.387611ZINFOsck_rs::stream_manager:persistent2026-04-14T09:23:22.954948ZINFOSCK stream started for display 2 (2560x1440, 2fps, 0 excluded)screenpipe_engine::event_driven_capture: startup capture for monitor 1:2026-04-14T09:23:23.488645Zframe_id=8037, dur=1082msINFOscreenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms2026-04-14T09:23:24.063719ZINFOscreenpipe_engine::retention: retention: initialized with 14d retention2026-04-14T09:23:24.063951ZINFOscreenpipe:local retention auto-enabled (14 days)2026-04-14T09:24:19.745739ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: found 108 eligible frames2026-04-14T09:24:23.350916ZINFO2026-04-14T09:24:26.531119ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGSdeletedscreenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted2026-04-14T09:28:19.055456ZINFOscreenpipe_engine::server: api_usage_5min: 1 requests2026-04-14T09:28:54.061635ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)2026-04-14T09:29:26.561625ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames2026-04-14T09:33:54.056707ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)2026-04-14T09:34:26.581293ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames2026-04-14T09:34:27.123519ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x),4 JPEGs deleted2026-04-14T09:34:28.092531ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.8x),7 JPEGS deleted2026-04-14T09:38:54.029363ZINFOscreenpipe_engine::retention: retention: cleaning up data before 2026-03-31106:38:54.029346+00:00 (14d retention)2026-04-14T09:39:28.082314ZINFO2026-04-14T09:39:29.3439417INFOscreenpipe_engine::snapshot_compaction: snapshot compaction: found 40eligible framesscreenpipe_engine::snapshot_compaction: snapshotcompaction: 18 frames, 4.0MB 0.7MB (6.0x), 18 JPEGs deleted2026-04-14T09:39:30.750250ZINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.8MB (4.5x), 20 JPEGs deleted100% C38% •70%•...
|
8190
|
|
8192
|
161
|
0
|
2026-04-14T06:39:37.840008+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776148777840_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
BitwardenFileEditViewAccountWindowHelpjiminny.atla BitwardenFileEditViewAccountWindowHelpjiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedlssue=JY-18909Platform Sprint 1 Q2 - Platform X88O JIMINNYQ Search |C JY-20543 add AJ reports User pilo+ New Tab® For you• Recent# Starred09 Apps0, SpacesRecent2) Jiminny (New)1 D Platform TeamSpaces / Jiminny (New)Platform Team 88# JY-19240 / [ JY-18909# Summary& TimelineVALLVAULA8 My vault# Exportedlu s= KanbanID Capture Team( Enterprise Stability III Processing TeamY Service-Desk88 All items* Favourites• Bin= More spaces= FiltersB DashboardsC OperationsV TYPES* Logina CardIdentity• Secure noteP SSH key2 Confluence:: Teams== Customise sidebarV FOLDERS• 2FA• CSV Import 28.01.22• LastPass Import 1.11.21… NAS Users+• Salesloft• Starter Kit• No folderV COLLECTIONSPersonal collectionMy vaultQ [URL_WITH_CREDENTIALS] [EMAIL] FIELDSnamegithub.comfavUpdated: 12 Jul 2025, 17:42:08Created: 12 JUl 2025, 1/:42:08+• when a report is shared with a user then show who shared it in the 'Shared' column - https://www.figma.com/design/jXcUe1y9mx5Fiz8KosLAUn/Project-Phoenix?node-id=14369-40078&t=We33fyQzIUfHuXVR-4 [Connect your Figma account• Subtasks.@+66% DoneworkPri...stor...Srarus[FE) Prepare HTML Template for PDF$JY-20570report=MDONE V+ Create2In Dev v* Improve StoryDetailsAssigneeReporterDevelopmentneleasesComponentsSub-ProductLabelsStory pointestimateStoryPointsOrganisationsPriorityFix versionsSprintDaysNeed QArarentCanny LinksQ. Steliyan GeorgievAssign to meGalya Dimitrova@ Open with VS Code• Orancnes32 commitso aays ageoull reduesti(OPEN]1 build failingA Production7 See all deploymentsPlatformAdd optionsAI) (BE) (FE) (QA)None13Ivone= MediumNonePlattorm Sorint 1 02Yes4 JY-19240 AJ ReportsOpen Canny Links> More fields Original estimate, Time tracking100% CTue 14 Apr 9:39:37Ask RovoDeploymentsE Archived work itemsMore 4Complete sprintGroup: QueriesDEPLOY 8Fix downtime during to featureflag release(SUPPORT TICKETSDeployed* JY-20565Al Review - O1GROWTH - MAINTAIN OUR COMPETITI...Deployed# JY-199820..00= 1ino suen column Iyoe on enuuy"-Vent"PLATFORM STABILITYDeployedJY-203840.5. •ee.=Missed deletion of stale dealsISKSREDUCE CHURNClosedX* JY-206191 . •00e=[Pipedrive] DI > status notlabeled, date data missingREDUCE CHURNDeployed[ JY-206140.5. 0000=OD/TI > Refresh the resultswnen ine tiele is clearee wiunthe 'x'FE IMPROVEMENTSDeployedIJY-Z05/"o.s eeee=Fix [HubSpot] Updatingassociations(REDUCE CHURN)Closed1HK JY-206212 ф•00=...
|
NULL
|
-6719649786223020350
|
NULL
|
click
|
ocr
|
NULL
|
BitwardenFileEditViewAccountWindowHelpjiminny.atla BitwardenFileEditViewAccountWindowHelpjiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedlssue=JY-18909Platform Sprint 1 Q2 - Platform X88O JIMINNYQ Search |C JY-20543 add AJ reports User pilo+ New Tab® For you• Recent# Starred09 Apps0, SpacesRecent2) Jiminny (New)1 D Platform TeamSpaces / Jiminny (New)Platform Team 88# JY-19240 / [ JY-18909# Summary& TimelineVALLVAULA8 My vault# Exportedlu s= KanbanID Capture Team( Enterprise Stability III Processing TeamY Service-Desk88 All items* Favourites• Bin= More spaces= FiltersB DashboardsC OperationsV TYPES* Logina CardIdentity• Secure noteP SSH key2 Confluence:: Teams== Customise sidebarV FOLDERS• 2FA• CSV Import 28.01.22• LastPass Import 1.11.21… NAS Users+• Salesloft• Starter Kit• No folderV COLLECTIONSPersonal collectionMy vaultQ [URL_WITH_CREDENTIALS] [EMAIL] FIELDSnamegithub.comfavUpdated: 12 Jul 2025, 17:42:08Created: 12 JUl 2025, 1/:42:08+• when a report is shared with a user then show who shared it in the 'Shared' column - https://www.figma.com/design/jXcUe1y9mx5Fiz8KosLAUn/Project-Phoenix?node-id=14369-40078&t=We33fyQzIUfHuXVR-4 [Connect your Figma account• Subtasks.@+66% DoneworkPri...stor...Srarus[FE) Prepare HTML Template for PDF$JY-20570report=MDONE V+ Create2In Dev v* Improve StoryDetailsAssigneeReporterDevelopmentneleasesComponentsSub-ProductLabelsStory pointestimateStoryPointsOrganisationsPriorityFix versionsSprintDaysNeed QArarentCanny LinksQ. Steliyan GeorgievAssign to meGalya Dimitrova@ Open with VS Code• Orancnes32 commitso aays ageoull reduesti(OPEN]1 build failingA Production7 See all deploymentsPlatformAdd optionsAI) (BE) (FE) (QA)None13Ivone= MediumNonePlattorm Sorint 1 02Yes4 JY-19240 AJ ReportsOpen Canny Links> More fields Original estimate, Time tracking100% CTue 14 Apr 9:39:37Ask RovoDeploymentsE Archived work itemsMore 4Complete sprintGroup: QueriesDEPLOY 8Fix downtime during to featureflag release(SUPPORT TICKETSDeployed* JY-20565Al Review - O1GROWTH - MAINTAIN OUR COMPETITI...Deployed# JY-199820..00= 1ino suen column Iyoe on enuuy"-Vent"PLATFORM STABILITYDeployedJY-203840.5. •ee.=Missed deletion of stale dealsISKSREDUCE CHURNClosedX* JY-206191 . •00e=[Pipedrive] DI > status notlabeled, date data missingREDUCE CHURNDeployed[ JY-206140.5. 0000=OD/TI > Refresh the resultswnen ine tiele is clearee wiunthe 'x'FE IMPROVEMENTSDeployedIJY-Z05/"o.s eeee=Fix [HubSpot] Updatingassociations(REDUCE CHURN)Closed1HK JY-206212 ф•00=...
|
8189
|
|
8372
|
NULL
|
0
|
2026-04-14T06:44:32.200395+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149072200_m2.jpg...
|
CleanShot X
|
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditHistoryBookmarksProfilesToolsWindow FirefoxFileEditHistoryBookmarksProfilesToolsWindowHelpTue 14 Apr 9:44:31- Import bookmarks.22°CNew York Cit€ New Tab" Inew ldeDo you want to see the weather forvouiocaulonrNot nowYesFirefoxDrag to record a part of the screen. Press TW to select a window.ScreenpipeDashboardMInbox -kovaliklukas….Dennik N -Like Father,Like Daught….nX D4900D S.-B5F8Vimium - GetMHow to use Al-Download...
|
NULL
|
5270949421152848592
|
NULL
|
click
|
ocr
|
NULL
|
FirefoxFileEditHistoryBookmarksProfilesToolsWindow FirefoxFileEditHistoryBookmarksProfilesToolsWindowHelpTue 14 Apr 9:44:31- Import bookmarks.22°CNew York Cit€ New Tab" Inew ldeDo you want to see the weather forvouiocaulonrNot nowYesFirefoxDrag to record a part of the screen. Press TW to select a window.ScreenpipeDashboardMInbox -kovaliklukas….Dennik N -Like Father,Like Daught….nX D4900D S.-B5F8Vimium - GetMHow to use Al-Download...
|
8369
|
|
8374
|
NULL
|
0
|
2026-04-14T06:44:37.640670+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149077640_m1.jpg...
|
CleanShot X
|
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFile EditViewTabsBookmarksmeet.google.com / Dai DiaFile EditViewTabsBookmarksmeet.google.com / Daily - PlatformHistoryExtensionsWindowHelplihl• | Daily - Platform • in 1m100% [ 8Tue 14 Apr 9:44:37 •2 • ChatI1 [EMAIL] accountLukas KovalikDaily - Platformin 1 minute1440815* Use Gemini to take notesShare notes and transcriptStartJoin nowGIFRecord GIFRecord VideoTFTSOther ways to join{ soundcore A...1 soundcore A...• FaceTime HD...g Backgrounds…Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporaryaccess to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meetinghost can turn it off. Learn more...
|
NULL
|
4958287559177716862
|
NULL
|
visual_change
|
ocr
|
NULL
|
DiaFile EditViewTabsBookmarksmeet.google.com / Dai DiaFile EditViewTabsBookmarksmeet.google.com / Daily - PlatformHistoryExtensionsWindowHelplihl• | Daily - Platform • in 1m100% [ 8Tue 14 Apr 9:44:37 •2 • ChatI1 [EMAIL] accountLukas KovalikDaily - Platformin 1 minute1440815* Use Gemini to take notesShare notes and transcriptStartJoin nowGIFRecord GIFRecord VideoTFTSOther ways to join{ soundcore A...1 soundcore A...• FaceTime HD...g Backgrounds…Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporaryaccess to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meetinghost can turn it off. Learn more...
|
NULL
|
|
8375
|
162
|
0
|
2026-04-14T06:44:40.662526+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149080662_m1.jpg...
|
CleanShot X
|
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFile EditViewTabsBookmarksmeet.google.com / Dai DiaFile EditViewTabsBookmarksmeet.google.com / Daily - PlatformHistoryExtensionsWindowHelplihl• | Daily - Platform • in 1m100% [ 8Tue 14 Apr 9:44:40 •• ChatI1 [EMAIL] accountLukas KovalikDaily - Platformin 1 minute1440815* Use Gemini to take notesShare notes and transcriptStartJoin nowGIFRecord GIFRecord VideoTFTSOther ways to join{ soundcore A...1 soundcore A...• FaceTime HD...g Backgrounds…Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporaryaccess to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meetinghost can turn it off. Learn more...
|
NULL
|
4758619136898672261
|
NULL
|
visual_change
|
ocr
|
NULL
|
DiaFile EditViewTabsBookmarksmeet.google.com / Dai DiaFile EditViewTabsBookmarksmeet.google.com / Daily - PlatformHistoryExtensionsWindowHelplihl• | Daily - Platform • in 1m100% [ 8Tue 14 Apr 9:44:40 •• ChatI1 [EMAIL] accountLukas KovalikDaily - Platformin 1 minute1440815* Use Gemini to take notesShare notes and transcriptStartJoin nowGIFRecord GIFRecord VideoTFTSOther ways to join{ soundcore A...1 soundcore A...• FaceTime HD...g Backgrounds…Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporaryaccess to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meetinghost can turn it off. Learn more...
|
8374
|
|
8377
|
163
|
0
|
2026-04-14T06:44:46.248787+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149086248_m2.jpg...
|
CleanShot X
|
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Record Video
⌥S
Record GIF
⌥F
×
1440
815
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Record Video","depth":1,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥S","depth":1,"role_description":"text"},{"role":"AXButton","text":"Record GIF","depth":1,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥F","depth":1,"role_description":"text"},{"role":"AXStaticText","text":"×","depth":1,"role_description":"text"},{"role":"AXTextField","text":"1440","depth":1,"value":"1440","role_description":"text field","is_enabled":true,"is_focused":false},{"role":"AXTextField","text":"815","depth":1,"value":"815","role_description":"text field","is_enabled":true,"is_focused":false}]...
|
7145305695561190920
|
967029825340144646
|
click
|
hybrid
|
NULL
|
Record Video
⌥S
Record GIF
⌥F
×
1440
815
FirefoxFi Record Video
⌥S
Record GIF
⌥F
×
1440
815
FirefoxFileEditHistoryBookmarksProfilesToolsWindowHelp$0.Tue 14 Apr 9:44:45 •- Import bookmarks.22°CNew York Cit€ New Tab" Inew ldeDo you want to see the weather forvouiocaulonrNot nowYesFirefoxDrag to record a part of the screen. Press TW to select a window.ScreenpipeDashboardMInbox -kovaliklukas….Dennik N -Like Father,Like Daught...nX D4900D S.-B5F8Vimium - GetMHow to use Al-Download...
|
NULL
|
|
8520
|
NULL
|
0
|
2026-04-14T06:49:40.415408+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149380415_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFilelEditViewTabsBookmarksHistoryExtensionsWind DiaFilelEditViewTabsBookmarksHistoryExtensionsWindowHelp$0.| Daily - Platform • nowmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)Inbox (2) - niE:1Q 8•C 3y 19798 eval(7 Service-Deskjr Foet Ameson• Cost | Claude x©Actions secrC C DependatActions sec• Dependabot: xHa Dependatinny/prophet/actions/runs/24195639151/ob/70624720594?pr=468B AWSE3 SSHс *El Datadog % Claude5 CircieclD Sentry8 TaskslInsights & Coachin.• Dev• UxRun Flake8 & Mypy•, Search logs I0 Al BookmarksSummary|Run Flake8 & MypyRun details© UsageWorkfiow fileStefka StoyanovaHDSet up Python> • Install Poetry |> • Load cached Poetry dependencies |> © Install dependencies using Poetry|v @ Run Flake81 •Run poetry run flakeß, -count -select-E9,F63,F7,F82,N293,N291,W292 --show-source -statistics./src/eval/eval-al-activity-type.py:330:63: N292 no newline at end of fileasyncio.runtrun_cvaluatzon(AlactavityTypetvaluator, args)Error: Process conpleted with exit code 1.• Run Mypy|• Post Load cached Poetry dependencies |• Post Set up Python |› © Post Checkout code> O Complete job• 2026 0i4u6, Inc.HortroPrivacy Security Status Community Docsvonest menesn12$1s25s7sSteliyan Georgievovalik9:49 AM Daily - Platform4:158 • Tue 14 Apr 9:49:40Chat6Nikolay YankovNikolay Ivanov...
|
NULL
|
-1093066448562940555
|
NULL
|
visual_change
|
ocr
|
NULL
|
DiaFilelEditViewTabsBookmarksHistoryExtensionsWind DiaFilelEditViewTabsBookmarksHistoryExtensionsWindowHelp$0.| Daily - Platform • nowmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)Inbox (2) - niE:1Q 8•C 3y 19798 eval(7 Service-Deskjr Foet Ameson• Cost | Claude x©Actions secrC C DependatActions sec• Dependabot: xHa Dependatinny/prophet/actions/runs/24195639151/ob/70624720594?pr=468B AWSE3 SSHс *El Datadog % Claude5 CircieclD Sentry8 TaskslInsights & Coachin.• Dev• UxRun Flake8 & Mypy•, Search logs I0 Al BookmarksSummary|Run Flake8 & MypyRun details© UsageWorkfiow fileStefka StoyanovaHDSet up Python> • Install Poetry |> • Load cached Poetry dependencies |> © Install dependencies using Poetry|v @ Run Flake81 •Run poetry run flakeß, -count -select-E9,F63,F7,F82,N293,N291,W292 --show-source -statistics./src/eval/eval-al-activity-type.py:330:63: N292 no newline at end of fileasyncio.runtrun_cvaluatzon(AlactavityTypetvaluator, args)Error: Process conpleted with exit code 1.• Run Mypy|• Post Load cached Poetry dependencies |• Post Set up Python |› © Post Checkout code> O Complete job• 2026 0i4u6, Inc.HortroPrivacy Security Status Community Docsvonest menesn12$1s25s7sSteliyan Georgievovalik9:49 AM Daily - Platform4:158 • Tue 14 Apr 9:49:40Chat6Nikolay YankovNikolay Ivanov...
|
8519
|
|
8522
|
NULL
|
0
|
2026-04-14T06:49:46.856699+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149386856_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
* Firefox File EditView History Bookmarks Profiles * Firefox File EditView History Bookmarks Profiles Tools Window HelpCPlatform Sprint 1 Q2 - Platform Tea( Jy 19798 evaluation for ai activ X+ New labI1 Open©github.com/jiminny/prophet/pull/468/changes#diff-fc8a653dec2cd8e3d632fa5d32e0abd4b22176ce7619cc5752c4efe9e53f083bJy 19798 evaluation for ai activity types #468All commitsnikolaybiaivanov wants to merge 9 commits into master from JY-19798-evaluation-for-ai-activity-types [v src/eval/eval-ai-activity-type.pyQ Filter files...• E eval_output/ai_activity_type/eval….> • ground_truth> D input• E src/evalendpoints.py* eval-ai-activity-type.pyE gitignore52 €6:2030 ll © | Daily - Platform • nowA100% C• 8• Tue 14 Apr 9:49:46• 1/ 203 viewed• Awallind aporovaliVlewedENDPOINT PATH = "call/ai-activity-tvoe"REQUEST_MODEL = AiActivityTypeRequestRESPONSE_MODEL = AiActivityTypeResponseOUTPUT_SUBFOLDER = "ai_activity_type"USES_LLM_EVALUATION = FalseREADS_FROM_DATASET_FOLDER = TrueDATA_SET: str = "initial"MINIMUM_REQUEST_BODY_SIZE: int = 0SKIP_UNREPLAYABLE_ON_COLLECT: bool = TrueREPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.0POPULATE_GROUND_TRUTH_LLM: bool = FalseGROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"COrPARE TO GROUND TRUTH: str = "es"def _init__(self, **kwargs: Any) -> None:super()._init_(**kwargs)_repo_root = Path(_file_).parents[2]_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"_dataset_dir = _datasets_root / self._class_.DATA_SETself._dataset_dir =_dataset_dirself._inputs_dir =_dataset_dir / "input"self._ground_truths_dir =_dataset_dir / "ground_truth"async def collect_test_set(self) →> List[Dict[str, Any]l:if self.es_host_name:return awalt selt._collect_trom_est)return await self._collect_from_files() *async def _collect_from_es(self) → List[Dict[str, Anyll:if self. inputs dir.exists) or self. ground truths dir.exists):raise FileExistsError(f"Dataset folder already exists: {self._inputs_dir.parent).""Choose a different --data-set name or remove the folder manually."raw_samples = await es_collect_test_set(es_nost_name=self.es_host name.es_port=self.es_port,endpoint path=self.ENDPOINT PATH,Limit=self.limit,language_filter=self.language_filter,min_prompt_length=self.min_prompt_length,is_json_response=self.IS_JSON_RESPONSE,exclude_languages=self.exclude_languages,self._inputs_dir.mkdir(parents=True, exist_ok=True)...
|
NULL
|
7629566239521751989
|
NULL
|
visual_change
|
ocr
|
NULL
|
* Firefox File EditView History Bookmarks Profiles * Firefox File EditView History Bookmarks Profiles Tools Window HelpCPlatform Sprint 1 Q2 - Platform Tea( Jy 19798 evaluation for ai activ X+ New labI1 Open©github.com/jiminny/prophet/pull/468/changes#diff-fc8a653dec2cd8e3d632fa5d32e0abd4b22176ce7619cc5752c4efe9e53f083bJy 19798 evaluation for ai activity types #468All commitsnikolaybiaivanov wants to merge 9 commits into master from JY-19798-evaluation-for-ai-activity-types [v src/eval/eval-ai-activity-type.pyQ Filter files...• E eval_output/ai_activity_type/eval….> • ground_truth> D input• E src/evalendpoints.py* eval-ai-activity-type.pyE gitignore52 €6:2030 ll © | Daily - Platform • nowA100% C• 8• Tue 14 Apr 9:49:46• 1/ 203 viewed• Awallind aporovaliVlewedENDPOINT PATH = "call/ai-activity-tvoe"REQUEST_MODEL = AiActivityTypeRequestRESPONSE_MODEL = AiActivityTypeResponseOUTPUT_SUBFOLDER = "ai_activity_type"USES_LLM_EVALUATION = FalseREADS_FROM_DATASET_FOLDER = TrueDATA_SET: str = "initial"MINIMUM_REQUEST_BODY_SIZE: int = 0SKIP_UNREPLAYABLE_ON_COLLECT: bool = TrueREPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.0POPULATE_GROUND_TRUTH_LLM: bool = FalseGROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"COrPARE TO GROUND TRUTH: str = "es"def _init__(self, **kwargs: Any) -> None:super()._init_(**kwargs)_repo_root = Path(_file_).parents[2]_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"_dataset_dir = _datasets_root / self._class_.DATA_SETself._dataset_dir =_dataset_dirself._inputs_dir =_dataset_dir / "input"self._ground_truths_dir =_dataset_dir / "ground_truth"async def collect_test_set(self) →> List[Dict[str, Any]l:if self.es_host_name:return awalt selt._collect_trom_est)return await self._collect_from_files() *async def _collect_from_es(self) → List[Dict[str, Anyll:if self. inputs dir.exists) or self. ground truths dir.exists):raise FileExistsError(f"Dataset folder already exists: {self._inputs_dir.parent).""Choose a different --data-set name or remove the folder manually."raw_samples = await es_collect_test_set(es_nost_name=self.es_host name.es_port=self.es_port,endpoint path=self.ENDPOINT PATH,Limit=self.limit,language_filter=self.language_filter,min_prompt_length=self.min_prompt_length,is_json_response=self.IS_JSON_RESPONSE,exclude_languages=self.exclude_languages,self._inputs_dir.mkdir(parents=True, exist_ok=True)...
|
8521
|
|
8523
|
165
|
0
|
2026-04-14T06:50:05.067693+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149405067_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
* Firefox File EditView History Bookmarks Profiles * Firefox File EditView History Bookmarks Profiles Tools Window HelpCPlatform Sprint 1 Q2 - Platform Tea( Jy 19798 evaluation for ai activ X+ New labI1 Open©github.com/jiminny/prophet/pull/468/changes#diff-fc8a653dec2cd8e3d632fa5d32e0abd4b22176ce7619cc5752c4efe9e53f083bJy 19798 evaluation for ai activity types #468All commitsnikolaybiaivanov wants to merge 9 commits into master from JY-19798-evaluation-for-ai-activity-types [v src/eval/eval-ai-activity-type.pyQ Filter files...• E eval_output/ai_activity_type/eval.…> D ground_truth> D input~ & src/evalendpoints.py* eval-ai-activity-type.pyE gitignore>0 lbl O | Daily - Platform • nowA100% C• 8• Tue 14 Apr 9:50:04• 1/ 203 viewed• Awallind aporovaliVomitrevew+330 UUUUU|• Viewedencboint vauneselT.eNDrUINi PAln.Ilimit=self.limit,language_filter=self.language_filter,min_prompt_length=self.min_prompt_length,is_json_response=self.IS_JSON_RESPONSE,exclude_languages=self.exclude_languages,[PASSWORD_DOTS] *+*++ +self._inputs_dir.mkdir(parents=True, exist_ok=True)self._ground_truths_dir.mkdir(parents=True, exist_ok=True)min size = self.MINIMUM REOUEST BODY SIZEsamples: List[Dict[str, Anyll = []skipped_no_response = 0skipped_too_small = 0skipped_unreplayable = 0skipped_probe_errors = 0endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"umeour = alontto.culentneour toraselt.KCPLAYABILIIY CHECK TIMEOUI SECUNDS)async with aiohttp.ClientSession(timeout=timeout) as session:for samole in raw samples:es_id = sample["id"]request boay = samplerequest bodyoriginal_response = sample.get("original_response")*if not original_response:skipped_no_response += 1continue1t man suze anc lencison,cunos.recvest oocv < min size.skipped_too_small += 11T SeLTaSALr UNKCrLATADLE UN LULLCCI:try:dsyne wiln sesszon.post enapone url,son-recuest boay as reso.1t resp.status = 200:body_text = await resp.text()iT"Lannor tino aculvlt in ooov text.skipped_unreplayable += 1except Exception:skipped probe errors += 1wiun ooen seut. 1nouls alr Ties 10r.50h, W dsTejson.dump(request_body, t, indent=2)with open(selt._ground_truths_dir / T"gt_tes_1dy•Json", "W") as T:json.dump(original_response, f, indent=2)samples.append(...
|
NULL
|
-7451808613311289381
|
NULL
|
visual_change
|
ocr
|
NULL
|
* Firefox File EditView History Bookmarks Profiles * Firefox File EditView History Bookmarks Profiles Tools Window HelpCPlatform Sprint 1 Q2 - Platform Tea( Jy 19798 evaluation for ai activ X+ New labI1 Open©github.com/jiminny/prophet/pull/468/changes#diff-fc8a653dec2cd8e3d632fa5d32e0abd4b22176ce7619cc5752c4efe9e53f083bJy 19798 evaluation for ai activity types #468All commitsnikolaybiaivanov wants to merge 9 commits into master from JY-19798-evaluation-for-ai-activity-types [v src/eval/eval-ai-activity-type.pyQ Filter files...• E eval_output/ai_activity_type/eval.…> D ground_truth> D input~ & src/evalendpoints.py* eval-ai-activity-type.pyE gitignore>0 lbl O | Daily - Platform • nowA100% C• 8• Tue 14 Apr 9:50:04• 1/ 203 viewed• Awallind aporovaliVomitrevew+330 UUUUU|• Viewedencboint vauneselT.eNDrUINi PAln.Ilimit=self.limit,language_filter=self.language_filter,min_prompt_length=self.min_prompt_length,is_json_response=self.IS_JSON_RESPONSE,exclude_languages=self.exclude_languages,[PASSWORD_DOTS] *+*++ +self._inputs_dir.mkdir(parents=True, exist_ok=True)self._ground_truths_dir.mkdir(parents=True, exist_ok=True)min size = self.MINIMUM REOUEST BODY SIZEsamples: List[Dict[str, Anyll = []skipped_no_response = 0skipped_too_small = 0skipped_unreplayable = 0skipped_probe_errors = 0endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"umeour = alontto.culentneour toraselt.KCPLAYABILIIY CHECK TIMEOUI SECUNDS)async with aiohttp.ClientSession(timeout=timeout) as session:for samole in raw samples:es_id = sample["id"]request boay = samplerequest bodyoriginal_response = sample.get("original_response")*if not original_response:skipped_no_response += 1continue1t man suze anc lencison,cunos.recvest oocv < min size.skipped_too_small += 11T SeLTaSALr UNKCrLATADLE UN LULLCCI:try:dsyne wiln sesszon.post enapone url,son-recuest boay as reso.1t resp.status = 200:body_text = await resp.text()iT"Lannor tino aculvlt in ooov text.skipped_unreplayable += 1except Exception:skipped probe errors += 1wiun ooen seut. 1nouls alr Ties 10r.50h, W dsTejson.dump(request_body, t, indent=2)with open(selt._ground_truths_dir / T"gt_tes_1dy•Json", "W") as T:json.dump(original_response, f, indent=2)samples.append(...
|
NULL
|
|
8524
|
164
|
0
|
2026-04-14T06:50:10.750263+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149410750_m1.jpg...
|
Firefox
|
Jy 19798 evaluation for ai activity types by nikol Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet — Work...
|
True
|
github.com/jiminny/prophet/pull/468/changes#diff-f github.com/jiminny/prophet/pull/468/changes#diff-fc8a653dec2cd8e3d632fa5d32e0abd4b22176ce7619cc5752c4efe9e53f083b...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
prophet
prophet
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Issues
Issues
Pull requests (6)
Pull requests
(
6
)
Agents
Agents
Actions
Actions
Projects
Projects
Wiki
Wiki
Security and quality (20)
Security and quality
(
20
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 19798 evaluation for ai activity types #468 Edit title
Jy 19798 evaluation for ai activity types
#
468
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 9 commits into
master
master
from
JY-19798-evaluation-for-ai-activity-types
JY-19798-evaluation-for-ai-activity-types
Copy head branch name to clipboard
Lines changed: 25671 additions & 0 deletions
Conversation (3)
Conversation
(
3
)
Commits (9)
Commits
(
9
)
Checks (3)
Checks
(
3
)
Files changed (203)
Files changed
(
203
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
Jy 19798 evaluation for ai activity types
Jy 19798 evaluation for ai activity types
#
468
All commits
All commits
nikolaybiaivanov
nikolaybiaivanov
wants to merge 9 commits into
master
master
from
JY-19798-evaluation-for-ai-activity-types
JY-19798-evaluation-for-ai-activity-types
Copy head branch name to clipboard
1
/
203
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
eval_output/ai_activity_type/eval_datasets/v2-from-logs-replayable
ground_truth
input
src/eval
endpoints.py
endpoints.py
eval-ai-activity-type.py
eval-ai-activity-type.py
.gitignore
.gitignore
This page has been optimized for large pull requests.
This page has been optimized for large pull requests.
This page has been optimized for large pull requests. Some browser features (like Find on Page or Select All) may not work as expected.
Switch to single file mode
Switch to single file mode
Collapse file
src/eval/eval-ai-activity-type.py
src/eval/eval-ai-activity-type.py
src/eval/eval-ai-activity-type.py
Copy file name to clipboard
Lines changed: 330 additions & 0 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -0,0 +1,330 @@
1
+
#!/usr/bin/env python3
2
+
import
asyncio
3
+
import
json
4
+
import
os
5
+
from
pathlib
import
Path
6
+
from
typing
import
Any
,
Dict
,
List
7
+
8
+
import
aiohttp
9
+
10
+
from
src
.
component
.
call_processing
.
schemes
.
ai_activity_type_request
import
AiActivityTypeRequest
11
+
from
src
.
component
.
call_processing
.
schemes
.
ai_activity_type_response
import...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":6,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"prophet","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"prophet","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Issues","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (6)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Projects","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Projects","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (20)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Jy 19798 evaluation for ai activity types #468 Edit title","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"468","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Preview","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preview","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"nikolaybiaivanov","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nikolaybiaivanov","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 9 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19798-evaluation-for-ai-activity-types","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19798-evaluation-for-ai-activity-types","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 25671 additions & 0 deletions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Conversation","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (9)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (203)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Files changed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"203","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Pull Request Toolbar","depth":14,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pull Request Toolbar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file tree","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Open","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jy 19798 evaluation for ai activity types","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"468","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"All commits","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All commits","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"nikolaybiaivanov","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nikolaybiaivanov","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 9 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-19798-evaluation-for-ai-activity-types","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-19798-evaluation-for-ai-activity-types","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"1","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"203","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"viewed","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Submit review","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Submit","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"review","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open diff view settings","depth":14,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open overview panel","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open comments panel","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"(","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Filter files…","depth":16,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Filter options","depth":16,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"File tree","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File tree","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"eval_output/ai_activity_type/eval_datasets/v2-from-logs-replayable","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ground_truth","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"input","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"src/eval","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"endpoints.py","depth":21,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"endpoints.py","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"eval-ai-activity-type.py","depth":21,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"eval-ai-activity-type.py","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":".gitignore","depth":19,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".gitignore","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"This page has been optimized for large pull requests.","depth":14,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This page has been optimized for large pull requests.","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This page has been optimized for large pull requests. Some browser features (like Find on Page or Select All) may not work as expected.","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Switch to single file mode","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Switch to single file mode","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"src/eval/eval-ai-activity-type.py","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"src/eval/eval-ai-activity-type.py","depth":16,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"src/eval/eval-ai-activity-type.py","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy file name to clipboard","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 330 additions & 0 deletions","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Not Viewed","depth":14,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Viewed","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Comment on this file","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More options","depth":14,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Original file line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line change","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@@ -0,0 +1,330 @@","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#!/usr/bin/env python3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"asyncio","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"json","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"os","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"pathlib","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Path","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"typing","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Any","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Dict","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"List","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"aiohttp","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"src","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"component","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"call_processing","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"schemes","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai_activity_type_request","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AiActivityTypeRequest","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"src","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"component","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"call_processing","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"schemes","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai_activity_type_response","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4153859112112021314
|
6299545704810163522
|
idle
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
prophet
prophet
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Issues
Issues
Pull requests (6)
Pull requests
(
6
)
Agents
Agents
Actions
Actions
Projects
Projects
Wiki
Wiki
Security and quality (20)
Security and quality
(
20
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 19798 evaluation for ai activity types #468 Edit title
Jy 19798 evaluation for ai activity types
#
468
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 9 commits into
master
master
from
JY-19798-evaluation-for-ai-activity-types
JY-19798-evaluation-for-ai-activity-types
Copy head branch name to clipboard
Lines changed: 25671 additions & 0 deletions
Conversation (3)
Conversation
(
3
)
Commits (9)
Commits
(
9
)
Checks (3)
Checks
(
3
)
Files changed (203)
Files changed
(
203
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
Jy 19798 evaluation for ai activity types
Jy 19798 evaluation for ai activity types
#
468
All commits
All commits
nikolaybiaivanov
nikolaybiaivanov
wants to merge 9 commits into
master
master
from
JY-19798-evaluation-for-ai-activity-types
JY-19798-evaluation-for-ai-activity-types
Copy head branch name to clipboard
1
/
203
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
eval_output/ai_activity_type/eval_datasets/v2-from-logs-replayable
ground_truth
input
src/eval
endpoints.py
endpoints.py
eval-ai-activity-type.py
eval-ai-activity-type.py
.gitignore
.gitignore
This page has been optimized for large pull requests.
This page has been optimized for large pull requests.
This page has been optimized for large pull requests. Some browser features (like Find on Page or Select All) may not work as expected.
Switch to single file mode
Switch to single file mode
Collapse file
src/eval/eval-ai-activity-type.py
src/eval/eval-ai-activity-type.py
src/eval/eval-ai-activity-type.py
Copy file name to clipboard
Lines changed: 330 additions & 0 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -0,0 +1,330 @@
1
+
#!/usr/bin/env python3
2
+
import
asyncio
3
+
import
json
4
+
import
os
5
+
from
pathlib
import
Path
6
+
from
typing
import
Any
,
Dict
,
List
7
+
8
+
import
aiohttp
9
+
10
+
from
src
.
component
.
call_processing
.
schemes
.
ai_activity_type_request
import
AiActivityTypeRequest
11
+
from
src
.
component
.
call_processing
.
schemes
.
ai_activity_type_response
import...
|
NULL
|
|
8588
|
NULL
|
0
|
2026-04-14T06:54:54.408652+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149694408_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFilelEditViewTabsBookmarksHistoryExtensionsWind DiaFilelEditViewTabsBookmarksHistoryExtensionsWindowHelpmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)Inbox (2)PlactormSRD-677(7 (SRD-67:C Jy 19798(7 Service-oir Font. AmrCostI Clhttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/377selectedissue=JY-18909• Jminmy0 ProjectsE3 SSHPlatform TeamQ Search board200$ Jy-19240 / [ JY-18900READY FOR DEV 1SubtasksooeeneTxwirtexceed Fontawesomepackage limits(MAINTENANCISReady for Dev8-205641 П ****:%JY-20570(FE) Prepare HTML Template for PDFreport9JY-20571(AI) Create PDF from Panorama9 JY-20572(BE) Send emall for generated report(check design)9J1-20573(BE) Manage recipients for emailsending% JY-20574 [AI) Ensure PDF formatting is good% J7-20575work9JY-20576(FE) Add new generated report in theAl reports page(BE) Add flag in AI Reports list for9 JY-20577delete rights% JY-20578 [FE) Add delete button|9JY-20579(BE) Add new report type in filtersoptions% JY-20580 (FE) Rename column SharedEl DatadogPriority= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium% JY-20583 (BE) Add period to cron job= Medium9Jy-20584(BE) Change search report in cron job= Mecium• Nikolay Y...i Stellyan .@ Lukas Ko...* Lukas Ko...Steliyan…..3 Stellyan ...Lukas Ko...Nikolay Y..Nikolay Y…Steliyan...Lukas Ko...LUxaS KO..Actions••+77% DoneDONE MDONEIN DEVDONE MDONE VIDONEDONEIN DEV VDONE MDONE y9:54 AM Daily - Platform• 0.(ah)Daily - Platform - now8•CE: DeperDependol• Far DepeD TasksInsights & Coachin• DelD ux.© 2Xz Improve Story~ DetailsAssignee &32 Stellyan GeorgievAsentoeReporter2 Galya DimitrovaUeyele encne@ Open with VS Code|3 branches32 commits1 pull request1 bulld fallingRelessesProduction2 See all deploymentsComponentsPlatformSub-ProductAoorcons5 days agcUrEhD Al BookmarksGroup: QueriesDEPLOY &leature fiag releaseDeployed0 -20585 15 + ****=AI Review - Q1CTNMEUANANORCORDeployed_19982 1ot000-No such column "Type' onentty 'Event"PLATTORM STABTUTTYDeployed8 -20384 05 11 ****=1Missed deletion of stale0 -400R3 409009(Pipedrive] DI > status notlabeled, date data missingREDUCE CHURNDeployed0 -20614 05 П ****=:Stefka StoyanovaSteliyan Georgievvalik9:298 • Tue 14 Apr 9:54:54ChatNikolay YankovNikolay Ivanov...
|
NULL
|
-6696527879926375764
|
NULL
|
visual_change
|
ocr
|
NULL
|
DiaFilelEditViewTabsBookmarksHistoryExtensionsWind DiaFilelEditViewTabsBookmarksHistoryExtensionsWindowHelpmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)Inbox (2)PlactormSRD-677(7 (SRD-67:C Jy 19798(7 Service-oir Font. AmrCostI Clhttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/377selectedissue=JY-18909• Jminmy0 ProjectsE3 SSHPlatform TeamQ Search board200$ Jy-19240 / [ JY-18900READY FOR DEV 1SubtasksooeeneTxwirtexceed Fontawesomepackage limits(MAINTENANCISReady for Dev8-205641 П ****:%JY-20570(FE) Prepare HTML Template for PDFreport9JY-20571(AI) Create PDF from Panorama9 JY-20572(BE) Send emall for generated report(check design)9J1-20573(BE) Manage recipients for emailsending% JY-20574 [AI) Ensure PDF formatting is good% J7-20575work9JY-20576(FE) Add new generated report in theAl reports page(BE) Add flag in AI Reports list for9 JY-20577delete rights% JY-20578 [FE) Add delete button|9JY-20579(BE) Add new report type in filtersoptions% JY-20580 (FE) Rename column SharedEl DatadogPriority= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium= Medium% JY-20583 (BE) Add period to cron job= Medium9Jy-20584(BE) Change search report in cron job= Mecium• Nikolay Y...i Stellyan .@ Lukas Ko...* Lukas Ko...Steliyan…..3 Stellyan ...Lukas Ko...Nikolay Y..Nikolay Y…Steliyan...Lukas Ko...LUxaS KO..Actions••+77% DoneDONE MDONEIN DEVDONE MDONE VIDONEDONEIN DEV VDONE MDONE y9:54 AM Daily - Platform• 0.(ah)Daily - Platform - now8•CE: DeperDependol• Far DepeD TasksInsights & Coachin• DelD ux.© 2Xz Improve Story~ DetailsAssignee &32 Stellyan GeorgievAsentoeReporter2 Galya DimitrovaUeyele encne@ Open with VS Code|3 branches32 commits1 pull request1 bulld fallingRelessesProduction2 See all deploymentsComponentsPlatformSub-ProductAoorcons5 days agcUrEhD Al BookmarksGroup: QueriesDEPLOY &leature fiag releaseDeployed0 -20585 15 + ****=AI Review - Q1CTNMEUANANORCORDeployed_19982 1ot000-No such column "Type' onentty 'Event"PLATTORM STABTUTTYDeployed8 -20384 05 11 ****=1Missed deletion of stale0 -400R3 409009(Pipedrive] DI > status notlabeled, date data missingREDUCE CHURNDeployed0 -20614 05 П ****=:Stefka StoyanovaSteliyan Georgievvalik9:298 • Tue 14 Apr 9:54:54ChatNikolay YankovNikolay Ivanov...
|
NULL
|
|
8590
|
NULL
|
0
|
2026-04-14T06:54:57.928193+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149697928_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProfilesstaging FirefoxFileEoitViewHistoryBookmarksProfilesstaginglToolsWindowHelp→ Import bookmarks..Sprint BoardTSRD Queuestaging - Search with Google~ Google Gistacino aleaPlatform Sprint 1 Q2 - Platform Teastaging meaning( Jy 19798 evaluation for ai activity tNew Tab+ New Tabseltctt3. Run: EusylleWnienendpolphasesstaging средаstaging breast cancer patnology outlinesstaging kidney pathology outlinesstaging gitsooanc o colne or cerocoittsstaging ground bellwrightstaging ground meaningare there soem issueswith this PRshow thinkingYes, there are several issues and code smellsin this Pull Request, ranging from performancebottlenecks to architectural anti-patterns.Here is a breakdown of the most notableissues, categorized by impact:Performance & Async Anti-Patterns• Sequential Requests Defeating Async(Lines 86-106): Inside_collect_from_es , the code loopsthrough raw_samples and awaits asession.post request for each sampleone by one. This means the script waitsfor one HTTP request to finish beforestarting the next, completely defeatingthe purpose of using aiohttp forasynchronous concurrency.• Fix: Collect these coroutines into alist and use asyncio.gather()(ideally wrapped in anohore to avoidi• Enter a prompt for GeminiProvYour Jiminny chats aren't used to improve our models. Gemini is Alane can make mistakes, Inciualne aoout peodleYour privacy & GeminiSummarize pageFirefoxPlatform Sprint1 Q2 - Platfor...Search with Google or enter addressMInbox (1,539) -Meet - Daily -PlatformJY-20543 addAJ reports...WikipediaYouTube> 0| Daily - Platform • nowA100% CD8 • Tue 14 Apr 9:54:57Ö:22°CNew York CityRedditAdd-ons forFirefox...
|
NULL
|
6017075556882427022
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProfilesstaging FirefoxFileEoitViewHistoryBookmarksProfilesstaginglToolsWindowHelp→ Import bookmarks..Sprint BoardTSRD Queuestaging - Search with Google~ Google Gistacino aleaPlatform Sprint 1 Q2 - Platform Teastaging meaning( Jy 19798 evaluation for ai activity tNew Tab+ New Tabseltctt3. Run: EusylleWnienendpolphasesstaging средаstaging breast cancer patnology outlinesstaging kidney pathology outlinesstaging gitsooanc o colne or cerocoittsstaging ground bellwrightstaging ground meaningare there soem issueswith this PRshow thinkingYes, there are several issues and code smellsin this Pull Request, ranging from performancebottlenecks to architectural anti-patterns.Here is a breakdown of the most notableissues, categorized by impact:Performance & Async Anti-Patterns• Sequential Requests Defeating Async(Lines 86-106): Inside_collect_from_es , the code loopsthrough raw_samples and awaits asession.post request for each sampleone by one. This means the script waitsfor one HTTP request to finish beforestarting the next, completely defeatingthe purpose of using aiohttp forasynchronous concurrency.• Fix: Collect these coroutines into alist and use asyncio.gather()(ideally wrapped in anohore to avoidi• Enter a prompt for GeminiProvYour Jiminny chats aren't used to improve our models. Gemini is Alane can make mistakes, Inciualne aoout peodleYour privacy & GeminiSummarize pageFirefoxPlatform Sprint1 Q2 - Platfor...Search with Google or enter addressMInbox (1,539) -Meet - Daily -PlatformJY-20543 addAJ reports...WikipediaYouTube> 0| Daily - Platform • nowA100% CD8 • Tue 14 Apr 9:54:57Ö:22°CNew York CityRedditAdd-ons forFirefox...
|
8589
|
|
8591
|
167
|
0
|
2026-04-14T06:55:06.977785+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149706977_m2.jpg...
|
Firefox
|
Work — Mozilla Firefox
|
True
|
app.staging.jiminny.com
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
New Tab
New Tab
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show more options
Gemini said
Gemini said
This Python script defines the
AiActivityTypeEvaluator
class, a specialized tool for evaluating AI-driven activity type classification. It extends a base evaluation framework to handle data collection, ground-truth comparison, and performance scoring.
Core Functionality
Core Functionality
Data Collection (
collect_test_set
):
* Supports fetching raw samples from
Elasticsearch (ES)
or loading them from
local JSON files
.
Implements a
replayability check
: It probes the live API endpoint to ensure the activity exists before including it in the dataset.
Filters data based on request body size, language, and the presence of an original response.
Ground Truth Management:
Saves inputs and "gold standard" responses to a local directory structure (
eval_output/ai_activity_type/...
).
Features an optional mode to populate ground truth using a high-order LLM (e.g.,
gpt-5_2
) if the
POPULATE_GROUND_TRUTH_LLM
flag is set.
Evaluation Logic (
evaluate_against_ground_truth
):
Compares the model's predicted
ai_activity_type
against either the original ES response or the LLM-generated ground truth.
Assigns a
quality_score
of
1.0
for a match and
0.0
for a mismatch or request failure.
Key Configuration Constants
Key Configuration Constants
Constant
Purpose
ENDPOINT_PATH
The specific API route being tested:
call/ai-activity-type
.
COMPARE_TO_GROUND_TRUTH
Determines if the baseline is the original data (
es
) or an
llm
.
SKIP_UNREPLAYABLE_ON_COLLECT
If
True
, discards records where the API returns "Cannot find activity."
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Limits the probe request to 20 seconds.
Constant
ENDPOINT_PATH
COMPARE_TO_GROUND_TRUTH
SKIP_UNREPLAYABLE_ON_COLLECT
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Purpose
The specific API route being tested:
call/ai-activity-type
.
Determines if the baseline is the original data (
es
) or an
llm
.
If
True
, discards records where the API returns "Cannot find activity."
Limits the probe request to 20 seconds.
Copy table
Execution Workflow
Execution Workflow
Parsing:
The script uses
create_parser
to handle CLI arguments like
--data-set
,
--populate-ground-truth-llm
, and
--compare-to-ground-truth
.
Initialization:
Sets up directory paths for inputs and ground truths based on the selected dataset name.
Run:
Executes the evaluation via
asyncio.run(run_evaluation(...))
, which orchestrates the collection, endpoint calling, and result scoring phases.
Copy prompt
Edit
You said are there soem issues with this PR
You said
are there soem issues with this PR
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, there are several issues and code smells in this Pull Request, ranging from performance bottlenecks to architectural anti-patterns.
Here is a breakdown of the most notable issues, categorized by impact:
Performance & Async Anti-Patterns
Performance & Async Anti-Patterns
Sequential Requests Defeating Async (Lines 86-106):
Inside
_collect_from_es
, the code loops through
raw_samples
and
await
s a
session.post
request for each sample one by one. This means the script waits for one HTTP request to finish before starting the next, completely defeating the purpose of using
aiohttp
for asynchronous concurrency.
Fix:
Collect these coroutines into a list and use
asyncio.gather()
(ideally wrapped in an
asyncio.Semaphore
to avoid overwhelming the endpoint) to run the replayability probes concurrently.
Blocking File I/O in Async Functions (Lines 110-114, 184-188, 268-269):
Standard synchronous file operations (
with open(...)
,
json.dump
,
json.load
) are used inside
async def
functions. In Python, this blocks the entire event loop while the disk is reading/writing.
Fix:
Use an asynchronous file I/O library like
aiofiles
, or run the blocking I/O operations in a separate thread using
asyncio.to_thread()
.
Architecture & State Management
Architecture & State Management
Mutating Class-Level Variables (Lines 323-328):
The script parses CLI arguments and directly mutates the class attributes (e.g.,
AiActivityTypeEvaluator.DATA_SET = args.data_set
). This is a major anti-pattern. If you ever try to run tests in parallel or create multiple instances of this evaluator in a single process, the state will bleed across them.
Fix:
Pass these arguments into the
__init__
constructor of the instance (
self.data_set = args.data_set
) rather than modifying the class definition globally.
Code Quality & Edge Cases
Code Quality & Edge Cases
Broad Exception Catching (Line 107):
Using a bare
except Exception:
during the replayability probe is dangerous. It will catch
aiohttp.ClientError
(which is intended), but it will also silently swallow
TimeoutError
or even memory errors, making debugging incredibly difficult if the endpoint goes down.
Fix:
Scope the exception to specific expected errors, like
except (aiohttp.ClientError, asyncio.TimeoutError):
.
Inefficient Size Calculation (Line 95):
len(json.dumps(request_body)) < min_size
requires serializing the entire dictionary to a string
just
to check its length. Since
min_size
defaults to
0
, the
if min_size
short-circuit saves it for now, but if anyone sets a minimum size, this will become an unnecessary CPU bottleneck on large datasets.
Potential Path Traversal Risk (Lines 110, 113, 251):
The script writes and reads files directly using
f"{es_id}.json"
and
f"gt_{req_id}.json"
. If
es_id
or
req_id
originate from a database and ever contain characters like
../
, it could result in files being read from or written to unintended directories.
Fix:
Sanitize the IDs or strictly enforce that they only contain alphanumeric characters....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"bounds":{"left":0.00234375,"top":0.06458333,"width":0.0890625,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.10208333,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.015625,"top":0.11180556,"width":0.11796875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.13055556,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"bounds":{"left":0.015625,"top":0.14027777,"width":0.1984375,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.15902779,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.015625,"top":0.16875,"width":0.017578125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.07890625,"top":0.16527778,"width":0.009375,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.003125,"top":0.18888889,"width":0.08710937,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.003125,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.01640625,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.029296875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0421875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.05546875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.2171875,"top":0.06736111,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.23125,"top":0.06736111,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.228125,"top":0.10972222,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.0984375,"top":0.10972222,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.1953125,"top":0.10972222,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.2109375,"top":0.10972222,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.09335937,"top":0.14791666,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.09335937,"top":0.15,"width":0.14101562,"height":0.022222223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\\nExpected: {gt_label}\\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\\nExpected: {gt_label}\\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected.","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This Python script defines the","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AiActivityTypeEvaluator","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"class, a specialized tool for evaluating AI-driven activity type classification. It extends a base evaluation framework to handle data collection, ground-truth comparison, and performance scoring.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Functionality","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Functionality","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Data Collection (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"collect_test_set","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"* Supports fetching raw samples from","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Elasticsearch (ES)","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"or loading them from","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"local JSON files","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Implements a","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"replayability check","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": It probes the live API endpoint to ensure the activity exists before including it in the dataset.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Filters data based on request body size, language, and the presence of an original response.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ground Truth Management:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saves inputs and \"gold standard\" responses to a local directory structure (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"eval_output/ai_activity_type/...","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Features an optional mode to populate ground truth using a high-order LLM (e.g.,","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"gpt-5_2","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") if the","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"POPULATE_GROUND_TRUTH_LLM","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag is set.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Evaluation Logic (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"evaluate_against_ground_truth","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Compares the model's predicted","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai_activity_type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"against either the original ES response or the LLM-generated ground truth.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigns a","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"quality_score","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"of","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a match and","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.0","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a mismatch or request failure.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Key Configuration Constants","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Key Configuration Constants","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Constant","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Purpose","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ENDPOINT_PATH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The specific API route being tested:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"call/ai-activity-type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"COMPARE_TO_GROUND_TRUTH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Determines if the baseline is the original data (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"es","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") or an","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"llm","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SKIP_UNREPLAYABLE_ON_COLLECT","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"True","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", discards records where the API returns \"Cannot find activity.\"","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REPLAYABILITY_CHECK_TIMEOUT_SECONDS","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Limits the probe request to 20 seconds.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Constant","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ENDPOINT_PATH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"COMPARE_TO_GROUND_TRUTH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SKIP_UNREPLAYABLE_ON_COLLECT","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REPLAYABILITY_CHECK_TIMEOUT_SECONDS","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Purpose","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The specific API route being tested:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"call/ai-activity-type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Determines if the baseline is the original data (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"es","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") or an","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"llm","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"True","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", discards records where the API returns \"Cannot find activity.\"","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Limits the probe request to 20 seconds.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy table","depth":24,"bounds":{"left":0.22070312,"top":0.0,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Execution Workflow","depth":23,"bounds":{"left":0.103125,"top":0.004166667,"width":0.13320312,"height":0.016666668},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Execution Workflow","depth":24,"bounds":{"left":0.103125,"top":0.0055555557,"width":0.060546875,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Parsing:","depth":26,"bounds":{"left":0.1171875,"top":0.028472222,"width":0.024609376,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The script uses","depth":26,"bounds":{"left":0.14179687,"top":0.028472222,"width":0.04609375,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"create_parser","depth":27,"bounds":{"left":0.19023438,"top":0.029861111,"width":0.042578124,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to handle CLI arguments like","depth":26,"bounds":{"left":0.1171875,"top":0.028472222,"width":0.119140625,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--data-set","depth":27,"bounds":{"left":0.1171875,"top":0.047916666,"width":0.107421875,"height":0.03125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":26,"bounds":{"left":0.12929687,"top":0.06458333,"width":0.003125,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--populate-ground-truth-llm","depth":27,"bounds":{"left":0.13476562,"top":0.065972224,"width":0.08867188,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and","depth":26,"bounds":{"left":0.1171875,"top":0.06458333,"width":0.11171875,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--compare-to-ground-truth","depth":27,"bounds":{"left":0.13203125,"top":0.084027775,"width":0.08203125,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"bounds":{"left":0.21640626,"top":0.08263889,"width":0.0015625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Initialization:","depth":26,"bounds":{"left":0.1171875,"top":0.10625,"width":0.039453126,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sets up directory paths for inputs and ground truths based on the selected dataset name.","depth":26,"bounds":{"left":0.1171875,"top":0.10625,"width":0.11875,"height":0.050694443},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run:","depth":26,"bounds":{"left":0.1171875,"top":0.16597222,"width":0.013671875,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Executes the evaluation via","depth":26,"bounds":{"left":0.13085938,"top":0.16597222,"width":0.080078125,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"asyncio.run(run_evaluation(...))","depth":27,"bounds":{"left":0.11953125,"top":0.18541667,"width":0.10507812,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", which orchestrates the collection, endpoint calling, and result scoring phases.","depth":26,"bounds":{"left":0.1171875,"top":0.18402778,"width":0.11289062,"height":0.06875},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.1203125,"top":0.3013889,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.1375,"top":0.3013889,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said are there soem issues with this PR","depth":21,"bounds":{"left":0.1609375,"top":0.30972221,"width":0.072265625,"height":0.03888889},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.09335937,"top":0.31180555,"width":0.0234375,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"are there soem issues with this PR","depth":23,"bounds":{"left":0.1609375,"top":0.3125,"width":0.062109374,"height":0.034027778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.22382812,"top":0.37638888,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.22382812,"top":0.3715278,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"bounds":{"left":0.11953125,"top":0.3784722,"width":0.036328126,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.11679687,"top":0.41458333,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.11679687,"top":0.41597223,"width":0.048046876,"height":0.016666668},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, there are several issues and code smells in this Pull Request, ranging from performance bottlenecks to architectural anti-patterns.","depth":24,"bounds":{"left":0.10390625,"top":0.42291668,"width":0.13242188,"height":0.050694443},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is a breakdown of the most notable issues, categorized by impact:","depth":24,"bounds":{"left":0.10390625,"top":0.48819444,"width":0.11640625,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Performance & Async Anti-Patterns","depth":23,"bounds":{"left":0.10390625,"top":0.5416667,"width":0.13242188,"height":0.016666668},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Performance & Async Anti-Patterns","depth":24,"bounds":{"left":0.10390625,"top":0.54305553,"width":0.10859375,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sequential Requests Defeating Async (Lines 86-106):","depth":26,"bounds":{"left":0.11757813,"top":0.5659722,"width":0.11601563,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inside","depth":26,"bounds":{"left":0.16289063,"top":0.58402777,"width":0.019921875,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"_collect_from_es","depth":27,"bounds":{"left":0.11992188,"top":0.60347223,"width":0.05234375,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", the code loops through","depth":26,"bounds":{"left":0.11757813,"top":0.6020833,"width":0.10429688,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"raw_samples","depth":27,"bounds":{"left":0.14414063,"top":0.6215278,"width":0.0359375,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":26,"bounds":{"left":0.18242188,"top":0.6201389,"width":0.0140625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"await","depth":27,"bounds":{"left":0.19882813,"top":0.6215278,"width":0.01640625,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"s a","depth":26,"bounds":{"left":0.21757813,"top":0.6201389,"width":0.009765625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"session.post","depth":27,"bounds":{"left":0.11992188,"top":0.63958335,"width":0.039453126,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"request for each sample one by one. This means the script waits for one HTTP request to finish before starting the next, completely defeating the purpose of using","depth":26,"bounds":{"left":0.11757813,"top":0.63819444,"width":0.11640625,"height":0.08680555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"aiohttp","depth":27,"bounds":{"left":0.18046875,"top":0.7118056,"width":0.023046875,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for asynchronous concurrency.","depth":26,"bounds":{"left":0.11757813,"top":0.7104167,"width":0.09921875,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fix:","depth":28,"bounds":{"left":0.1296875,"top":0.75208336,"width":0.009765625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Collect these coroutines into a list and use","depth":28,"bounds":{"left":0.1296875,"top":0.75208336,"width":0.09921875,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"asyncio.gather()","depth":29,"bounds":{"left":0.16601562,"top":0.77152777,"width":0.05234375,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(ideally wrapped in an","depth":28,"bounds":{"left":0.1296875,"top":0.77013886,"width":0.09257813,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"asyncio.Semaphore","depth":29,"bounds":{"left":0.13203125,"top":0.8076389,"width":0.055859376,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to avoid overwhelming the endpoint) to run the replayability probes concurrently.","depth":28,"bounds":{"left":0.1296875,"top":0.80625,"width":0.10546875,"height":0.050694443},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Blocking File I/O in Async Functions (Lines 110-114, 184-188, 268-269):","depth":26,"bounds":{"left":0.11757813,"top":0.8659722,"width":0.10976563,"height":0.03263889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Standard synchronous file operations (","depth":26,"bounds":{"left":0.11757813,"top":0.8840278,"width":0.107421875,"height":0.050694443},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with open(...)","depth":27,"bounds":{"left":0.12226562,"top":0.9215278,"width":0.045703124,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":26,"bounds":{"left":0.1703125,"top":0.9201389,"width":0.003515625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"json.dump","depth":27,"bounds":{"left":0.17617187,"top":0.9215278,"width":0.029296875,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":26,"bounds":{"left":0.2078125,"top":0.9201389,"width":0.003125,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"json.load","depth":27,"bounds":{"left":0.11992188,"top":0.93958336,"width":0.0296875,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") are used inside","depth":26,"bounds":{"left":0.15195313,"top":0.93819445,"width":0.048046876,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"async def","depth":27,"bounds":{"left":0.20234375,"top":0.93958336,"width":0.0296875,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"functions. In Python, this blocks the entire event loop while the disk is reading/writing.","depth":26,"bounds":{"left":0.11757813,"top":0.93819445,"width":0.11875,"height":0.061805546},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fix:","depth":28,"bounds":{"left":0.1296875,"top":1.0,"width":0.009765625,"height":-0.015972257},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use an asynchronous file I/O library like","depth":28,"bounds":{"left":0.1296875,"top":1.0,"width":0.09335937,"height":-0.015972257},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"aiofiles","depth":29,"bounds":{"left":0.1625,"top":1.0,"width":0.0265625,"height":-0.035416722},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", or run the blocking I/O operations in a separate thread using","depth":28,"bounds":{"left":0.1296875,"top":1.0,"width":0.10585938,"height":-0.034027815},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"asyncio.to_thread()","depth":29,"bounds":{"left":0.16914062,"top":1.0,"width":0.0625,"height":-0.07152772},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"bounds":{"left":0.23398438,"top":1.0,"width":0.0015625,"height":-0.07013893},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Architecture & State Management","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Architecture & State Management","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mutating Class-Level Variables (Lines 323-328):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The script parses CLI arguments and directly mutates the class attributes (e.g.,","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AiActivityTypeEvaluator.DATA_SET = args.data_set","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"). This is a major anti-pattern. If you ever try to run tests in parallel or create multiple instances of this evaluator in a single process, the state will bleed across them.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fix:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pass these arguments into the","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"__init__","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constructor of the instance (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"self.data_set = args.data_set","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") rather than modifying the class definition globally.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Code Quality & Edge Cases","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Code Quality & Edge Cases","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Broad Exception Catching (Line 107):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Using a bare","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"except Exception:","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"during the replayability probe is dangerous. It will catch","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"aiohttp.ClientError","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(which is intended), but it will also silently swallow","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TimeoutError","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"or even memory errors, making debugging incredibly difficult if the endpoint goes down.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fix:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scope the exception to specific expected errors, like","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"except (aiohttp.ClientError, asyncio.TimeoutError):","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inefficient Size Calculation (Line 95):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"len(json.dumps(request_body)) < min_size","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"requires serializing the entire dictionary to a string","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"just","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to check its length. Since","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"min_size","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"defaults to","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", the","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"if min_size","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"short-circuit saves it for now, but if anyone sets a minimum size, this will become an unnecessary CPU bottleneck on large datasets.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Potential Path Traversal Risk (Lines 110, 113, 251):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The script writes and reads files directly using","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"f\"{es_id}.json\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"f\"gt_{req_id}.json\"","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". If","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"es_id","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"or","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"req_id","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"originate from a database and ever contain characters like","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"../","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", it could result in files being read from or written to unintended directories.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fix:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sanitize the IDs or strictly enforce that they only contain alphanumeric characters.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4930158969472011583
|
8732321575041020375
|
visual_change
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
New Tab
New Tab
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show more options
Gemini said
Gemini said
This Python script defines the
AiActivityTypeEvaluator
class, a specialized tool for evaluating AI-driven activity type classification. It extends a base evaluation framework to handle data collection, ground-truth comparison, and performance scoring.
Core Functionality
Core Functionality
Data Collection (
collect_test_set
):
* Supports fetching raw samples from
Elasticsearch (ES)
or loading them from
local JSON files
.
Implements a
replayability check
: It probes the live API endpoint to ensure the activity exists before including it in the dataset.
Filters data based on request body size, language, and the presence of an original response.
Ground Truth Management:
Saves inputs and "gold standard" responses to a local directory structure (
eval_output/ai_activity_type/...
).
Features an optional mode to populate ground truth using a high-order LLM (e.g.,
gpt-5_2
) if the
POPULATE_GROUND_TRUTH_LLM
flag is set.
Evaluation Logic (
evaluate_against_ground_truth
):
Compares the model's predicted
ai_activity_type
against either the original ES response or the LLM-generated ground truth.
Assigns a
quality_score
of
1.0
for a match and
0.0
for a mismatch or request failure.
Key Configuration Constants
Key Configuration Constants
Constant
Purpose
ENDPOINT_PATH
The specific API route being tested:
call/ai-activity-type
.
COMPARE_TO_GROUND_TRUTH
Determines if the baseline is the original data (
es
) or an
llm
.
SKIP_UNREPLAYABLE_ON_COLLECT
If
True
, discards records where the API returns "Cannot find activity."
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Limits the probe request to 20 seconds.
Constant
ENDPOINT_PATH
COMPARE_TO_GROUND_TRUTH
SKIP_UNREPLAYABLE_ON_COLLECT
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Purpose
The specific API route being tested:
call/ai-activity-type
.
Determines if the baseline is the original data (
es
) or an
llm
.
If
True
, discards records where the API returns "Cannot find activity."
Limits the probe request to 20 seconds.
Copy table
Execution Workflow
Execution Workflow
Parsing:
The script uses
create_parser
to handle CLI arguments like
--data-set
,
--populate-ground-truth-llm
, and
--compare-to-ground-truth
.
Initialization:
Sets up directory paths for inputs and ground truths based on the selected dataset name.
Run:
Executes the evaluation via
asyncio.run(run_evaluation(...))
, which orchestrates the collection, endpoint calling, and result scoring phases.
Copy prompt
Edit
You said are there soem issues with this PR
You said
are there soem issues with this PR
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, there are several issues and code smells in this Pull Request, ranging from performance bottlenecks to architectural anti-patterns.
Here is a breakdown of the most notable issues, categorized by impact:
Performance & Async Anti-Patterns
Performance & Async Anti-Patterns
Sequential Requests Defeating Async (Lines 86-106):
Inside
_collect_from_es
, the code loops through
raw_samples
and
await
s a
session.post
request for each sample one by one. This means the script waits for one HTTP request to finish before starting the next, completely defeating the purpose of using
aiohttp
for asynchronous concurrency.
Fix:
Collect these coroutines into a list and use
asyncio.gather()
(ideally wrapped in an
asyncio.Semaphore
to avoid overwhelming the endpoint) to run the replayability probes concurrently.
Blocking File I/O in Async Functions (Lines 110-114, 184-188, 268-269):
Standard synchronous file operations (
with open(...)
,
json.dump
,
json.load
) are used inside
async def
functions. In Python, this blocks the entire event loop while the disk is reading/writing.
Fix:
Use an asynchronous file I/O library like
aiofiles
, or run the blocking I/O operations in a separate thread using
asyncio.to_thread()
.
Architecture & State Management
Architecture & State Management
Mutating Class-Level Variables (Lines 323-328):
The script parses CLI arguments and directly mutates the class attributes (e.g.,
AiActivityTypeEvaluator.DATA_SET = args.data_set
). This is a major anti-pattern. If you ever try to run tests in parallel or create multiple instances of this evaluator in a single process, the state will bleed across them.
Fix:
Pass these arguments into the
__init__
constructor of the instance (
self.data_set = args.data_set
) rather than modifying the class definition globally.
Code Quality & Edge Cases
Code Quality & Edge Cases
Broad Exception Catching (Line 107):
Using a bare
except Exception:
during the replayability probe is dangerous. It will catch
aiohttp.ClientError
(which is intended), but it will also silently swallow
TimeoutError
or even memory errors, making debugging incredibly difficult if the endpoint goes down.
Fix:
Scope the exception to specific expected errors, like
except (aiohttp.ClientError, asyncio.TimeoutError):
.
Inefficient Size Calculation (Line 95):
len(json.dumps(request_body)) < min_size
requires serializing the entire dictionary to a string
just
to check its length. Since
min_size
defaults to
0
, the
if min_size
short-circuit saves it for now, but if anyone sets a minimum size, this will become an unnecessary CPU bottleneck on large datasets.
Potential Path Traversal Risk (Lines 110, 113, 251):
The script writes and reads files directly using
f"{es_id}.json"
and
f"gt_{req_id}.json"
. If
es_id
or
req_id
originate from a database and ever contain characters like
../
, it could result in files being read from or written to unintended directories.
Fix:
Sanitize the IDs or strictly enforce that they only contain alphanumeric characters....
|
NULL
|
|
8593
|
166
|
0
|
2026-04-14T06:55:10.956179+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776149710956_m1.jpg...
|
Firefox
|
Jiminny — Work
|
True
|
app.staging.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show more options
Gemini said
Gemini said
This Python script defines the
AiActivityTypeEvaluator
class, a specialized tool for evaluating AI-driven activity type classification. It extends a base evaluation framework to handle data collection, ground-truth comparison, and performance scoring.
Core Functionality
Core Functionality
Data Collection (
collect_test_set
):
* Supports fetching raw samples from
Elasticsearch (ES)
or loading them from
local JSON files
.
Implements a
replayability check
: It probes the live API endpoint to ensure the activity exists before including it in the dataset.
Filters data based on request body size, language, and the presence of an original response.
Ground Truth Management:
Saves inputs and "gold standard" responses to a local directory structure (
eval_output/ai_activity_type/...
).
Features an optional mode to populate ground truth using a high-order LLM (e.g.,
gpt-5_2
) if the
POPULATE_GROUND_TRUTH_LLM
flag is set.
Evaluation Logic (
evaluate_against_ground_truth
):
Compares the model's predicted
ai_activity_type
against either the original ES response or the LLM-generated ground truth.
Assigns a
quality_score
of
1.0
for a match and
0.0
for a mismatch or request failure.
Key Configuration Constants
Key Configuration Constants
Constant
Purpose
ENDPOINT_PATH
The specific API route being tested:
call/ai-activity-type
.
COMPARE_TO_GROUND_TRUTH
Determines if the baseline is the original data (
es
) or an
llm
.
SKIP_UNREPLAYABLE_ON_COLLECT
If
True
, discards records where the API returns "Cannot find activity."
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Limits the probe request to 20 seconds.
Constant
ENDPOINT_PATH
COMPARE_TO_GROUND_TRUTH
SKIP_UNREPLAYABLE_ON_COLLECT
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Purpose
The specific API route being tested:
call/ai-activity-type
.
Determines if the baseline is the original data (
es
) or an
llm
.
If
True
, discards records where the API returns "Cannot find activity."
Limits the probe request to 20 seconds.
Copy table
Execution Workflow
Execution Workflow
Parsing:
The script uses
create_parser
to handle CLI arguments like
--data-set
,
--populate-ground-truth-llm
, and
--compare-to-ground-truth
.
Initialization:
Sets up directory paths for inputs and ground truths based on the selected dataset name.
Run:
Executes the evaluation via
asyncio.run(run_evaluation(...))
, which orchestrates the collection, endpoint calling, and result scoring phases.
Copy prompt
Edit
You said are there soem issues with this PR
You said
are there soem issues with this PR
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, there are several issues and code smells in this Pull Request, ranging from performance bottlenecks to architectural anti-patterns.
Here is a breakdown of the most notable issues, categorized by impact:
Performance & Async Anti-Patterns
Performance & Async Anti-Patterns
Sequential Requests Defeating Async (Lines 86-106):
Inside
_collect_from_es
, the code loops through
raw_samples
and
await
s a
session.post
request for each sample one by one. This means the script waits for one HTTP request to finish before starting the next, completely defeating the purpose of using
aiohttp
for asynchronous concurrency.
Fix:...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Chat","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\\nExpected: {gt_label}\\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\\nExpected: {gt_label}\\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected.","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This Python script defines the","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AiActivityTypeEvaluator","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"class, a specialized tool for evaluating AI-driven activity type classification. It extends a base evaluation framework to handle data collection, ground-truth comparison, and performance scoring.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Functionality","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Functionality","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Data Collection (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"collect_test_set","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"* Supports fetching raw samples from","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Elasticsearch (ES)","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"or loading them from","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"local JSON files","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Implements a","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"replayability check","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": It probes the live API endpoint to ensure the activity exists before including it in the dataset.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Filters data based on request body size, language, and the presence of an original response.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ground Truth Management:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saves inputs and \"gold standard\" responses to a local directory structure (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"eval_output/ai_activity_type/...","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":").","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Features an optional mode to populate ground truth using a high-order LLM (e.g.,","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"gpt-5_2","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") if the","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"POPULATE_GROUND_TRUTH_LLM","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag is set.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Evaluation Logic (","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"evaluate_against_ground_truth","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Compares the model's predicted","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ai_activity_type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"against either the original ES response or the LLM-generated ground truth.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigns a","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"quality_score","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"of","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a match and","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.0","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for a mismatch or request failure.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Key Configuration Constants","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Key Configuration Constants","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Constant","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Purpose","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ENDPOINT_PATH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The specific API route being tested:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"call/ai-activity-type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"COMPARE_TO_GROUND_TRUTH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Determines if the baseline is the original data (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"es","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") or an","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"llm","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SKIP_UNREPLAYABLE_ON_COLLECT","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"True","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", discards records where the API returns \"Cannot find activity.\"","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REPLAYABILITY_CHECK_TIMEOUT_SECONDS","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Limits the probe request to 20 seconds.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Constant","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ENDPOINT_PATH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"COMPARE_TO_GROUND_TRUTH","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SKIP_UNREPLAYABLE_ON_COLLECT","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"REPLAYABILITY_CHECK_TIMEOUT_SECONDS","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Purpose","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The specific API route being tested:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"call/ai-activity-type","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Determines if the baseline is the original data (","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"es","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") or an","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"llm","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"True","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", discards records where the API returns \"Cannot find activity.\"","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Limits the probe request to 20 seconds.","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy table","depth":24,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Execution Workflow","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Execution Workflow","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Parsing:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The script uses","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"create_parser","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to handle CLI arguments like","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--data-set","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--populate-ground-truth-llm","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", and","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--compare-to-ground-truth","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Initialization:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sets up directory paths for inputs and ground truths based on the selected dataset name.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Run:","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Executes the evaluation via","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"asyncio.run(run_evaluation(...))","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", which orchestrates the collection, endpoint calling, and result scoring phases.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said are there soem issues with this PR","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"are there soem issues with this PR","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Yes, there are several issues and code smells in this Pull Request, ranging from performance bottlenecks to architectural anti-patterns.","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is a breakdown of the most notable issues, categorized by impact:","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Performance & Async Anti-Patterns","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Performance & Async Anti-Patterns","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sequential Requests Defeating Async (Lines 86-106):","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inside","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"_collect_from_es","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", the code loops through","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"raw_samples","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"await","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"s a","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"session.post","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"request for each sample one by one. This means the script waits for one HTTP request to finish before starting the next, completely defeating the purpose of using","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"aiohttp","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for asynchronous concurrency.","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fix:","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5074366443921049573
|
8731758625087598999
|
click
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 19798 evaluation for ai activity types by nikol</tabTitle>” with “<selection>@@ -0,0 +1,330 @@1+#!/usr/bin/env python32+import asyncio3+import json4+import os5+from pathlib import Path6+from typing import Any, Dict, List7+8+import aiohttp9+10+from src.component.call_processing.schemes.ai_activity_type_request import AiActivityTypeRequest11+from src.component.call_processing.schemes.ai_activity_type_response import AiActivityTypeResponse12+from src.eval.abstract_evaluator import AbstractEvaluator13+from src.eval.collectors import collect_test_set as es_collect_test_set14+from src.eval.common_evaluator_runner import create_parser, run_evaluation15+from src.eval.endpoints import run_endpoint as run_endpoint_http16+from src.eval.models import EvaluationResult17+18+19+class AiActivityTypeEvaluator(AbstractEvaluator):20+ENDPOINT_PATH = "call/ai-activity-type"21+REQUEST_MODEL = AiActivityTypeRequest22+RESPONSE_MODEL = AiActivityTypeResponse23+OUTPUT_SUBFOLDER = "ai_activity_type"24+USES_LLM_EVALUATION = False25+26+READS_FROM_DATASET_FOLDER = True27+28+DATA_SET: str = "initial"29+30+MINIMUM_REQUEST_BODY_SIZE: int = 031+32+SKIP_UNREPLAYABLE_ON_COLLECT: bool = True33+REPLAYABILITY_CHECK_TIMEOUT_SECONDS: float = 20.034+35+POPULATE_GROUND_TRUTH_LLM: bool = False36+GROUND_TRUTH_LLM_ENDPOINT: str = "OPENAI:gpt-5_2"37+38+COMPARE_TO_GROUND_TRUTH: str = "es"39+40+def __init__(self, **kwargs: Any) -> None:41+super().__init__(**kwargs)42+_repo_root = Path(__file__).parents[2]43+_datasets_root = _repo_root / "eval_output" / self.OUTPUT_SUBFOLDER / "eval_datasets"44+_dataset_dir = _datasets_root / self.__class__.DATA_SET45+self._dataset_dir = _dataset_dir46+self._inputs_dir = _dataset_dir / "input"47+self._ground_truths_dir = _dataset_dir / "ground_truth"48+49+async def collect_test_set(self) -> List[Dict[str, Any]]:50+if self.es_host_name:51+return await self._collect_from_es()52+return await self._collect_from_files()53+54+async def _collect_from_es(self) -> List[Dict[str, Any]]:55+if self._inputs_dir.exists() or self._ground_truths_dir.exists():56+raise FileExistsError(57+f"Dataset folder already exists: {self._inputs_dir.parent}. "58+"Choose a different --data-set name or remove the folder manually."59+ )60+61+raw_samples = await es_collect_test_set(62+es_host_name=self.es_host_name,63+es_port=self.es_port,64+endpoint_path=self.ENDPOINT_PATH,65+limit=self.limit,66+language_filter=self.language_filter,67+min_prompt_length=self.min_prompt_length,68+is_json_response=self.IS_JSON_RESPONSE,69+exclude_languages=self.exclude_languages,70+ )71+72+self._inputs_dir.mkdir(parents=True, exist_ok=True)73+self._ground_truths_dir.mkdir(parents=True, exist_ok=True)74+75+min_size = self.MINIMUM_REQUEST_BODY_SIZE76+samples: List[Dict[str, Any]] = []77+skipped_no_response = 078+skipped_too_small = 079+skipped_unreplayable = 080+skipped_probe_errors = 081+82+endpoint_url = f"{self.api_host}/{self.ENDPOINT_PATH}"83+84+timeout = aiohttp.ClientTimeout(total=self.REPLAYABILITY_CHECK_TIMEOUT_SECONDS)85+async with aiohttp.ClientSession(timeout=timeout) as session:86+for sample in raw_samples:87+es_id = sample["id"]88+request_body = sample["request_body"]89+original_response = sample.get("original_response")90+91+if not original_response:92+skipped_no_response += 193+continue94+95+if min_size and len(json.dumps(request_body)) < min_size:96+skipped_too_small += 197+continue98+99+if self.SKIP_UNREPLAYABLE_ON_COLLECT:100+try:101+async with session.post(endpoint_url, json=request_body) as resp:102+if resp.status != 200:103+body_text = await resp.text()104+if "Cannot find activity" in body_text:105+skipped_unreplayable += 1106+continue107+except Exception:108+skipped_probe_errors += 1109+110+with open(self._inputs_dir / f"{es_id}.json", "w") as f:111+json.dump(request_body, f, indent=2)112+113+with open(self._ground_truths_dir / f"gt_{es_id}.json", "w") as f:114+json.dump(original_response, f, indent=2)115+116+samples.append(117+ {118+"id": es_id,119+"request_body": request_body,120+"original_response": original_response,121+"ground_truth": original_response,122+ }123+ )124+125+print(f"Wrote {len(samples)} samples to {self._inputs_dir.parent}")126+if skipped_no_response:127+print(f"Skipped {skipped_no_response} records with no response body")128+if skipped_too_small:129+print(130+f"Skipped {skipped_too_small} records whose request body was smaller "131+f"than {min_size} characters"132+ )133+if skipped_unreplayable:134+print(f"Skipped {skipped_unreplayable} records that are not replayable (missing activity in ES)")135+if skipped_probe_errors:136+print(f"Warning: replayability probe errored for {skipped_probe_errors} records (kept those records)")137+138+if self.__class__.POPULATE_GROUND_TRUTH_LLM:139+label_results = await run_endpoint_http(140+test_set=samples,141+endpoint_url=endpoint_url,142+request_model=self.REQUEST_MODEL,143+force_llm_endpoint=self.__class__.GROUND_TRUTH_LLM_ENDPOINT,144+is_streaming_response=self.IS_STREAMING_RESPONSE,145+timeout_seconds=300.0,146+parallel_requests=self.parallel_requests,147+return_prompt_in_run=self.RETURN_PROMPT_IN_RUN,148+ )149+150+for i, r in enumerate(label_results):151+forced = self.__class__.GROUND_TRUTH_LLM_ENDPOINT152+model = forced.split(":", 1)[1] if ":" in forced else forced153+samples[i]["ground_truth_llm_model"] = model154+155+if not r.get("success", True):156+samples[i]["ground_truth_llm"] = None157+samples[i]["ground_truth_llm_reasoning"] = None158+samples[i]["ground_truth_llm_error_type"] = r.get("error_type")159+samples[i]["ground_truth_llm_error_message"] = r.get("error_message")160+continue161+162+resp = r.get("new_response") or {}163+samples[i]["ground_truth_llm"] = resp.get("ai_activity_type")164+samples[i]["ground_truth_llm_reasoning"] = resp.get("ai_activity_type_reasoning")165+166+return samples167+168+async def _collect_from_files(self) -> List[Dict[str, Any]]:169+if not self._inputs_dir.exists():170+raise FileNotFoundError(171+f"Dataset folder not found: {self._inputs_dir}. "172+"Run --steps collect first or check your --data-set name."173+ )174+175+samples: List[Dict[str, Any]] = []176+for filename in sorted(os.listdir(self._inputs_dir)):177+input_path = self._inputs_dir / filename178+gt_path = self._ground_truths_dir / f"gt_{filename}"179+180+if not gt_path.exists():181+print(f"Warning: ground truth not found for {filename}, skipping")182+continue183+184+with open(input_path, "r") as f:185+request_body: Dict[str, Any] = json.load(f)186+187+with open(gt_path, "r") as f:188+ground_truth: Dict[str, Any] = json.load(f)189+190+samples.append(191+ {192+"id": Path(filename).stem,193+"request_body": request_body,194+"original_response": None,195+"ground_truth": ground_truth,196+ }197+ )198+199+print(f"Loaded {len(samples)} samples from {self._inputs_dir.parent}")200+return samples201+202+async def evaluate_against_ground_truth(self, results: List[Dict[str, Any]]) -> List[EvaluationResult]:203+evaluation_results: List[EvaluationResult] = []204+compare_to = self.__class__.COMPARE_TO_GROUND_TRUTH205+206+for res in results:207+req_id = res["request_id"]208+is_success = res.get("success", True)209+210+if not is_success:211+evaluation_results.append(212+EvaluationResult(213+request_id=req_id,214+request_body=res["request_body"],215+new_response=res.get("new_response"),216+valid_schema=False,217+quality_score=0.0,218+quality_feedback=f"Request failed: {res.get('error_type')} - {res.get('error_message')}",219+response_time=res.get("response_time"),220+success=False,221+error_type=res.get("error_type"),222+error_message=res.get("error_message"),223+ground_truth_match=False,224+ )225+ )226+continue227+228+pred = (res.get("new_response") or {}).get("ai_activity_type")229+230+if compare_to == "llm":231+if "ground_truth_llm" not in res:232+evaluation_results.append(233+EvaluationResult(234+request_id=req_id,235+request_body=res["request_body"],236+new_response=res.get("new_response"),237+valid_schema=res.get("valid_schema", True),238+quality_score=0.0,239+quality_feedback=(240+"Missing ground_truth_llm in run results. Ensure collect step populated it and "241+"endpoints.py passes it through."242+ ),243+response_time=res.get("response_time"),244+success=True,245+ground_truth_match=False,246+ )247+ )248+continue249+gt_label = res.get("ground_truth_llm")250+else:251+gt_path = self._ground_truths_dir / f"gt_{req_id}.json"252+if not gt_path.exists():253+evaluation_results.append(254+EvaluationResult(255+request_id=req_id,256+request_body=res["request_body"],257+new_response=res.get("new_response"),258+valid_schema=res.get("valid_schema", True),259+quality_score=0.0,260+quality_feedback=f"Ground truth file not found: {gt_path}",261+response_time=res.get("response_time"),262+success=True,263+ground_truth_match=False,264+ )265+ )266+continue267+268+with open(gt_path, "r") as f:269+ground_truth_dict: Dict[str, Any] = json.load(f)270+271+gt_label = (ground_truth_dict or {}).get("ai_activity_type")272+273+matched = pred == gt_label274+275+evaluation_results.append(276+EvaluationResult(277+request_id=req_id,278+request_body=res["request_body"],279+new_response=res.get("new_response"),280+valid_schema=res.get("valid_schema", True),281+quality_score=1.0 if matched else 0.0,282+quality_feedback="PASS" if matched else f"FAIL\nExpected: {gt_label}\nGot: {pred}",283+response_time=res.get("response_time"),284+success=True,285+ground_truth_match=matched,286+ )287+ )288+289+return evaluation_results290+291+292+if __name__ == "__main__":293+parser = create_parser(AiActivityTypeEvaluator)294+parser.add_argument(295+"--data-set",296+type=str,297+default="initial",298+dest="data_set",299+help="Dataset folder under eval_output/ai_activity_type/eval_datasets/ (default: initial)",300+ )301+302+parser.add_argument(303+"--populate-ground-truth-llm",304+action="store_true",305+dest="populate_ground_truth_llm",306+ )307+parser.add_argument(308+"--ground-truth-llm-endpoint",309+type=str,310+default="OPENAI:gpt-5_2",311+dest="ground_truth_llm_endpoint",312+ )313+314+parser.add_argument(315+"--compare-to-ground-truth",316+type=str,317+choices=["es", "llm"],318+default="es",319+dest="compare_to_ground_truth",320+ )321+322+args = parser.parse_args()323+AiActivityTypeEvaluator.DATA_SET = args.data_set324+325+AiActivityTypeEvaluator.POPULATE_GROUND_TRUTH_LLM = bool(args.populate_ground_truth_llm)326+AiActivityTypeEvaluator.GROUND_TRUTH_LLM_ENDPOINT = args.ground_truth_llm_endpoint327+328+AiActivityTypeEvaluator.COMPARE_TO_GROUND_TRUTH = args.compare_to_ground_truth329+330+asyncio.run(run_evaluation(AiActivityTypeEvaluator, args))</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show more options
Gemini said
Gemini said
This Python script defines the
AiActivityTypeEvaluator
class, a specialized tool for evaluating AI-driven activity type classification. It extends a base evaluation framework to handle data collection, ground-truth comparison, and performance scoring.
Core Functionality
Core Functionality
Data Collection (
collect_test_set
):
* Supports fetching raw samples from
Elasticsearch (ES)
or loading them from
local JSON files
.
Implements a
replayability check
: It probes the live API endpoint to ensure the activity exists before including it in the dataset.
Filters data based on request body size, language, and the presence of an original response.
Ground Truth Management:
Saves inputs and "gold standard" responses to a local directory structure (
eval_output/ai_activity_type/...
).
Features an optional mode to populate ground truth using a high-order LLM (e.g.,
gpt-5_2
) if the
POPULATE_GROUND_TRUTH_LLM
flag is set.
Evaluation Logic (
evaluate_against_ground_truth
):
Compares the model's predicted
ai_activity_type
against either the original ES response or the LLM-generated ground truth.
Assigns a
quality_score
of
1.0
for a match and
0.0
for a mismatch or request failure.
Key Configuration Constants
Key Configuration Constants
Constant
Purpose
ENDPOINT_PATH
The specific API route being tested:
call/ai-activity-type
.
COMPARE_TO_GROUND_TRUTH
Determines if the baseline is the original data (
es
) or an
llm
.
SKIP_UNREPLAYABLE_ON_COLLECT
If
True
, discards records where the API returns "Cannot find activity."
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Limits the probe request to 20 seconds.
Constant
ENDPOINT_PATH
COMPARE_TO_GROUND_TRUTH
SKIP_UNREPLAYABLE_ON_COLLECT
REPLAYABILITY_CHECK_TIMEOUT_SECONDS
Purpose
The specific API route being tested:
call/ai-activity-type
.
Determines if the baseline is the original data (
es
) or an
llm
.
If
True
, discards records where the API returns "Cannot find activity."
Limits the probe request to 20 seconds.
Copy table
Execution Workflow
Execution Workflow
Parsing:
The script uses
create_parser
to handle CLI arguments like
--data-set
,
--populate-ground-truth-llm
, and
--compare-to-ground-truth
.
Initialization:
Sets up directory paths for inputs and ground truths based on the selected dataset name.
Run:
Executes the evaluation via
asyncio.run(run_evaluation(...))
, which orchestrates the collection, endpoint calling, and result scoring phases.
Copy prompt
Edit
You said are there soem issues with this PR
You said
are there soem issues with this PR
Listen
Show more options
Show thinking
Gemini said
Gemini said
Yes, there are several issues and code smells in this Pull Request, ranging from performance bottlenecks to architectural anti-patterns.
Here is a breakdown of the most notable issues, categorized by impact:
Performance & Async Anti-Patterns
Performance & Async Anti-Patterns
Sequential Requests Defeating Async (Lines 86-106):
Inside
_collect_from_es
, the code loops through
raw_samples
and
await
s a
session.post
request for each sample one by one. This means the script waits for one HTTP request to finish before starting the next, completely defeating the purpose of using
aiohttp
for asynchronous concurrency.
Fix:...
|
8588
|
|
8688
|
NULL
|
0
|
2026-04-14T07:00:03.595248+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150003595_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DiaFileEditViewTabsBookmarksHistoryExtensionsWindo DiaFileEditViewTabsBookmarksHistoryExtensionsWindowHelpmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)jminay / app&‹> Code11 Pull requestsActionsAll workfiowsAPP DeploymentClaude Security Helper|Database MigrationsDependabot UpdatesRelease EnvironmentStart-Stop Environment[include) Start/Stop testing environme.Mandoecien8 CachesA Deployments• Attestations|EB Runners@ Usage metrics© Performance metricsC SRD-677T7 (SRO-67С зy 19798Service-oDe Foet, AnvE SSHEl DutadogActionsCD WikiSecurity and qualityk Insights@ Settings|Fix Dependabot issuessecfix.yml33 workflow runsThis workflow has a workflow_dispatch event trigger.• Fix Dependabot issuesFix Dependabot issues 842: Manually run by pikolay-yankorRefactor secfix scripts for improved parsing and handling of covered…it S1171as pushed by nikolay-yankoxRefactor Slack notification handling in secfix scripts and workflowPu upenosootweewet 2691834 pushed by rikolay-yackor• Fix Dependabot issuesтu vepchos0otn3n conwen• Fix Dependabot issuesFix Dependabot istues R38: Manually run by pikolay-yankoyFix Dependabot issuesFix Dependabot issues #37: Manually run by nikolay-yankor• Fix Dependabot issuesFix Dependabot issues #36: Manually run by pikolay-yankov• Fix Dependabot issues• COstI CHO Actions :autonate-dependabot-issue_autonate-dependabot-issue.0U10110 -003000000183300autonate-dependabot-issue.autonate-dependabot-issue_10:00 AM | Daily - PlatformIaalC Ct: Depe• Actions s• DependelD TиsksInsights & Coachin.• Dev- UXQ Type ([] to searchQ Fiter workdiow runsEvent-Status -BranchActor -Hn wOrKow88 Apr 9, 10-20 PM GMT+3Ô Sm 35s88 Aor 8, 10:16 PM GMT+3Ô FailureE8 Aor 9, 10:12 PM OMT+3Ô FalureE Aor 9, 10:04 PM GMT+3© 50sỆ Apr 9, 9:48 PM GMT+3Ô em 128|Eệ Aor 9, 9-48 PM GMT+3(0) 150B Apr 9, 7:30 PM GMT+3|Ae 9, 718 PM CMTA)| Daily - Platform • 5 m left100% C47 8• Tue 14 Apr 10:00:03ChatO Far DepeStefka StoyanovaNikolay YankovSteliyan GeorgievNikolay IvanovAneliya Angelova14:38Lukas Kovalik...
|
NULL
|
-4517651544239334358
|
NULL
|
visual_change
|
ocr
|
NULL
|
DiaFileEditViewTabsBookmarksHistoryExtensionsWindo DiaFileEditViewTabsBookmarksHistoryExtensionsWindowHelpmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)jminay / app&‹> Code11 Pull requestsActionsAll workfiowsAPP DeploymentClaude Security Helper|Database MigrationsDependabot UpdatesRelease EnvironmentStart-Stop Environment[include) Start/Stop testing environme.Mandoecien8 CachesA Deployments• Attestations|EB Runners@ Usage metrics© Performance metricsC SRD-677T7 (SRO-67С зy 19798Service-oDe Foet, AnvE SSHEl DutadogActionsCD WikiSecurity and qualityk Insights@ Settings|Fix Dependabot issuessecfix.yml33 workflow runsThis workflow has a workflow_dispatch event trigger.• Fix Dependabot issuesFix Dependabot issues 842: Manually run by pikolay-yankorRefactor secfix scripts for improved parsing and handling of covered…it S1171as pushed by nikolay-yankoxRefactor Slack notification handling in secfix scripts and workflowPu upenosootweewet 2691834 pushed by rikolay-yackor• Fix Dependabot issuesтu vepchos0otn3n conwen• Fix Dependabot issuesFix Dependabot istues R38: Manually run by pikolay-yankoyFix Dependabot issuesFix Dependabot issues #37: Manually run by nikolay-yankor• Fix Dependabot issuesFix Dependabot issues #36: Manually run by pikolay-yankov• Fix Dependabot issues• COstI CHO Actions :autonate-dependabot-issue_autonate-dependabot-issue.0U10110 -003000000183300autonate-dependabot-issue.autonate-dependabot-issue_10:00 AM | Daily - PlatformIaalC Ct: Depe• Actions s• DependelD TиsksInsights & Coachin.• Dev- UXQ Type ([] to searchQ Fiter workdiow runsEvent-Status -BranchActor -Hn wOrKow88 Apr 9, 10-20 PM GMT+3Ô Sm 35s88 Aor 8, 10:16 PM GMT+3Ô FailureE8 Aor 9, 10:12 PM OMT+3Ô FalureE Aor 9, 10:04 PM GMT+3© 50sỆ Apr 9, 9:48 PM GMT+3Ô em 128|Eệ Aor 9, 9-48 PM GMT+3(0) 150B Apr 9, 7:30 PM GMT+3|Ae 9, 718 PM CMTA)| Daily - Platform • 5 m left100% C47 8• Tue 14 Apr 10:00:03ChatO Far DepeStefka StoyanovaNikolay YankovSteliyan GeorgievNikolay IvanovAneliya Angelova14:38Lukas Kovalik...
|
8687
|
|
8690
|
NULL
|
0
|
2026-04-14T07:00:08.349184+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150008349_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Docker DesktopEditView< 40 hil• | Daily - Platf Docker DesktopEditView< 40 hil• | Daily - Platform • 5 m leftA100% (45).8 • Tue 14 Apr 10:00:07app.staging.jiminny.com/ai-reports/pdf/e2f4890a-d097-495b-8dfd-d4c25a5e88431 of 3+ Automatic zoomPlatform Sprint 1 Q2 - Platform Tea@ Jy 19798 evaluation for ai activity t(8 Jiminnyg Ask Jiminny test report - 8 Apr XService-Desk - Queues - Platform— New |aobookmhleQ Search bookmarksv booknarks100l0atSprint BoardSRD Queuecithuhv E Bookmarks Menu> C Mozilla Firefox• Other Bookmarks• ••ii dockerdesktop PERSONALQ SearchSign inStarting the Docker Engine...Docker Engine is the underlying technology that runs containersdly Engine startingRAM 0.34 GB CPU 6.45% Disk: --- GB used (limit -- CB)>_ ® Update availableJIMINNY-...
|
NULL
|
753613480960281884
|
NULL
|
visual_change
|
ocr
|
NULL
|
Docker DesktopEditView< 40 hil• | Daily - Platf Docker DesktopEditView< 40 hil• | Daily - Platform • 5 m leftA100% (45).8 • Tue 14 Apr 10:00:07app.staging.jiminny.com/ai-reports/pdf/e2f4890a-d097-495b-8dfd-d4c25a5e88431 of 3+ Automatic zoomPlatform Sprint 1 Q2 - Platform Tea@ Jy 19798 evaluation for ai activity t(8 Jiminnyg Ask Jiminny test report - 8 Apr XService-Desk - Queues - Platform— New |aobookmhleQ Search bookmarksv booknarks100l0atSprint BoardSRD Queuecithuhv E Bookmarks Menu> C Mozilla Firefox• Other Bookmarks• ••ii dockerdesktop PERSONALQ SearchSign inStarting the Docker Engine...Docker Engine is the underlying technology that runs containersdly Engine startingRAM 0.34 GB CPU 6.45% Disk: --- GB used (limit -- CB)>_ ® Update availableJIMINNY-...
|
8689
|
|
8691
|
169
|
0
|
2026-04-14T07:00:11.333246+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150011333_m2.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
clipboard)
2026-04-12T12:56:32.282413Z INFO scree clipboard)
2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames
2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted
2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)
2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)
2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)
2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)
2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)
2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)
2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)
2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)
2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)
2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests
2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)
2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames
2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted
2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests
2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)
2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames
2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted
2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)
2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames
2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted
2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)
2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted
2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)
2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)
2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url ([URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording
2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)
2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording
2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1
2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6
2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording
2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording
2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6
2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1
2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)
2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)
2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)
2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)
2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)
2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)
2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)
2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)
2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)
2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)
2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)
2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)
2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)
2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)
2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)
2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)
2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)
2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)
2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)
2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)
2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)
2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)
2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)
2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)
2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)
2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)
2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)
2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)
2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)
2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)
2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)
2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)
2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)
2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)
2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)
2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)
2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)
2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)
2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)
2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)
2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)
2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)
2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)
2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)
2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)
2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)
2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)
2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames
2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted
2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted
2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)
2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames
2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)
2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted
2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)
2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted
2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)
2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames
2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted
2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)
2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)
2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted
2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted
2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)
2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames
2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted
2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted
2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)
2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames
2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted
2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted
2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)
2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted
2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)
2026-04-13T15:57:06.748688Z WARN sqlx::query: summary="SELECT frames.id as frame_id, …" db.statement="\n\nSELECT\n frames.id as frame_id,\n COALESCE(\n frames.full_text,\n ocr_text.text,\n frames.accessibility_text,\n ''\n ) as ocr_text,\n ocr_text.text_json,\n frames.timestamp,\n frames.name as frame_name,\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\n frames.offset_index,\n frames.app_name,\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\n frames.window_name,\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\n GROUP_CONCAT(tags.name, ',') as tags,\n frames.browser_url,\n frames.focused\nFROM\n frames\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\nWHERE\n 1 = 1\n AND (\n ?2 IS NULL\n OR frames.timestamp >= ?2\n )\n AND (\n ?3 IS NULL\n OR frames.timestamp <= ?3\n )\n AND (\n ?4 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\n )\n AND (\n ?5 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\n )\n AND (\n ?6 IS NULL\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\n )\n AND (\n ?7 IS NULL\n OR frames.machine_id = ?7\n )\n AND (\n ?8 IS NULL\n OR frames.focused = ?8\n )\n AND (\n ?9 IS NULL\n OR frames.name LIKE '%' || ?9 || '%'\n )\nGROUP BY\n frames.id\nORDER BY\n frames.timestamp DESC\nLIMIT\n ?10 OFFSET ?11\n" rows_affected=0 rows_returned=1000 elapsed=1.158041625s
2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted
2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)
2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames
2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted
2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)
2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames
2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted
2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)
2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames
2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted
2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted
2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)
2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted
2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted
2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)
2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames
2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted
2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted
2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)
2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames
2026-04-13T16:30:07.34...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"clipboard)\n2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted\n2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)\n2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)\n2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)\n2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)\n2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)\n2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)\n2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)\n2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)\n2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)\n2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests\n2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)\n2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted\n2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)\n2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames\n2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted\n2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)\n2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted\n2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)\n2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted\n2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)\n2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)\n2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:19:54.331647Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:19:54.331585+00:00 (14d retention)\n2026-04-12T14:25:49.460879Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:47:08.896043Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:51:40.566736Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:51:40.566667+00:00 (14d retention)\n2026-04-12T15:04:41.463531Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T15:09:53.670591Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T15:09:53.687234Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T15:09:53.694692Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T15:09:54.069049Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T15:09:54.972151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=click)\n2026-04-12T15:10:00.918510Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4593439385064446773, trigger=visual_change)\n2026-04-12T15:10:03.918707Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T15:11:30.984863Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:11:30.984842+00:00 (14d retention)\n2026-04-12T15:16:30.982686Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:16:30.982661+00:00 (14d retention)\n2026-04-12T15:21:30.980571Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:21:30.980551+00:00 (14d retention)\n2026-04-12T15:22:42.975270Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-12T15:22:45.011395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 3.1MB → 1.1MB (2.8x), 33 JPEGs deleted\n2026-04-12T15:26:30.978141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:26:30.978120+00:00 (14d retention)\n2026-04-12T15:27:45.265922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-12T15:27:49.938865Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 83 frames, 6.3MB → 0.1MB (58.2x), 83 JPEGs deleted\n2026-04-12T15:31:30.953991Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:31:30.953971+00:00 (14d retention)\n2026-04-12T15:32:50.166006Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:32:55.707883Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 7.5MB → 0.1MB (70.1x), 99 JPEGs deleted\n2026-04-12T15:32:56.071976Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (3.0x), 3 JPEGs deleted\n2026-04-12T15:36:30.948421Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:36:30.948401+00:00 (14d retention)\n2026-04-12T15:37:56.337459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:38:01.842312Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.0x), 98 JPEGs deleted\n2026-04-12T15:38:02.207918Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (2.8x), 3 JPEGs deleted\n2026-04-12T15:41:30.945296Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:41:30.945274+00:00 (14d retention)\n2026-04-12T15:43:02.496758Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:43:08.031970Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (68.3x), 98 JPEGs deleted\n2026-04-12T15:43:09.583075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.5x), 26 JPEGs deleted\n2026-04-12T15:46:30.941625Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:46:30.941607+00:00 (14d retention)\n2026-04-12T15:48:09.854085Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 127 eligible frames\n2026-04-12T15:48:15.376242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.2x), 98 JPEGs deleted\n2026-04-12T15:48:16.986205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.0MB → 0.1MB (22.4x), 27 JPEGs deleted\n2026-04-12T15:51:30.931020Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:51:30.931+00:00 (14d retention)\n2026-04-12T15:53:17.140652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:53:22.544303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.5x), 98 JPEGs deleted\n2026-04-12T15:53:24.051282Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.4x), 26 JPEGs deleted\n2026-04-12T15:56:30.903513Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:56:30.903491+00:00 (14d retention)\n2026-04-12T15:58:24.061857Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 107 eligible frames\n2026-04-12T15:58:29.565651Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.8x), 98 JPEGs deleted\n2026-04-12T15:58:30.163222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 0.5MB → 0.1MB (6.1x), 7 JPEGs deleted\n2026-04-12T16:01:30.898705Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:01:30.898688+00:00 (14d retention)\n2026-04-12T16:03:30.176572Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-12T16:03:35.702407Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (66.5x), 98 JPEGs deleted\n2026-04-12T16:03:37.208567Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 1.9MB → 0.1MB (19.5x), 25 JPEGs deleted\n2026-04-12T16:06:30.893145Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:06:30.893123+00:00 (14d retention)\n2026-04-12T16:08:37.224128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 137 eligible frames\n2026-04-12T16:08:42.754922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (55.1x), 98 JPEGs deleted\n2026-04-12T16:08:44.902888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 2.9MB → 0.1MB (27.8x), 37 JPEGs deleted\n2026-04-12T16:11:30.884492Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:11:30.884475+00:00 (14d retention)\n2026-04-12T16:13:44.914274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 102 eligible frames\n2026-04-12T16:13:50.332990Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (60.2x), 98 JPEGs deleted\n2026-04-12T16:13:50.582963Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 2 frames, 0.2MB → 0.1MB (1.9x), 2 JPEGs deleted\n2026-04-12T16:16:30.874710Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:16:30.874654+00:00 (14d retention)\n2026-04-12T16:18:50.598274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-04-12T16:18:55.602978Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 7.0MB → 0.1MB (56.9x), 90 JPEGs deleted\n2026-04-12T16:21:30.868887Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:21:30.868843+00:00 (14d retention)\n2026-04-12T16:23:55.619078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\n2026-04-12T16:23:57.827626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 2.9MB → 0.1MB (28.1x), 38 JPEGs deleted\n2026-04-12T16:25:51.808414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T16:25:55.859250Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-12T16:26:22.022550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=335681983743287612, trigger=visual_change)\n2026-04-12T16:26:30.862865Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:26:30.862859+00:00 (14d retention)\n2026-04-12T16:26:49.195853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=visual_change)\n2026-04-12T16:26:50.724575Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=clipboard)\n2026-04-12T16:26:58.277345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:26:59.647372Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=clipboard)\n2026-04-12T16:27:58.948426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:28:57.842202Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-12T16:28:59.471378Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.1MB → 0.1MB (19.7x), 27 JPEGs deleted\n2026-04-12T16:30:07.202386Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3216013508830929208, trigger=click)\n2026-04-12T16:30:55.852584Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T16:31:30.887381Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:31:30.887363+00:00 (14d retention)\n2026-04-12T16:31:49.004783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:31:49.729537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=click)\n2026-04-12T16:31:55.091180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:32:38.955241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:41.068172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=clipboard)\n2026-04-12T16:32:42.939568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:44.448998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=visual_change)\n2026-04-12T16:32:46.133335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=click)\n2026-04-12T16:32:47.467019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:32:47.909378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=clipboard)\n2026-04-12T16:33:06.479217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:33:09.545186Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5503780454464997020, trigger=visual_change)\n2026-04-12T16:33:15.550145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7389604070772900291, trigger=visual_change)\n2026-04-12T16:33:59.523675Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 12 eligible frames\n2026-04-12T16:34:00.275262Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 0.9MB → 0.1MB (9.2x), 11 JPEGs deleted\n2026-04-12T16:36:30.893415Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:36:30.893405+00:00 (14d retention)\n2026-04-12T16:37:02.339834Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T16:42:28.176895Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 54 eligible frames\n2026-04-12T16:42:31.234893Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 4.9MB → 1.5MB (3.4x), 53 JPEGs deleted\n2026-04-12T16:46:30.256919Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:46:30.256841+00:00 (14d retention)\n2026-04-12T16:58:23.782435Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T16:59:58.366015Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames\n2026-04-12T16:59:59.856243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 2.8MB → 0.5MB (5.8x), 24 JPEGs deleted\n2026-04-12T18:37:05.993577Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T18:39:53.607673Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T18:46:44.262699Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T15:46:44.262630+00:00 (14d retention)\n2026-04-12T18:55:18.717641Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T19:09:18.536900Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T20:13:29.785331Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T17:13:29.785272+00:00 (14d retention)\n2026-04-12T20:13:47.397970Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording\n2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)\n2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording\n2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6\n2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording\n2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording\n2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6\n2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1\n2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)\n2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)\n2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)\n2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)\n2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)\n2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)\n2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)\n2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)\n2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)\n2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)\n2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)\n2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)\n2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)\n2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)\n2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)\n2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)\n2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)\n2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)\n2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)\n2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)\n2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)\n2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)\n2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)\n2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)\n2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)\n2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)\n2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)\n2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)\n2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)\n2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)\n2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)\n2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)\n2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)\n2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)\n2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)\n2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)\n2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)\n2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)\n2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)\n2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)\n2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)\n2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)\n2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)\n2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)\n2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)\n2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)\n2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)\n2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames\n2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted\n2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted\n2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)\n2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames\n2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)\n2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted\n2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)\n2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted\n2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)\n2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames\n2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted\n2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)\n2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)\n2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted\n2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted\n2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)\n2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames\n2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted\n2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted\n2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)\n2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames\n2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted\n2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted\n2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)\n2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted\n2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)\n2026-04-13T15:57:06.748688Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=1000 elapsed=1.158041625s\n2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted\n2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)\n2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames\n2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted\n2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)\n2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted\n2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)\n2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames\n2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted\n2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted\n2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)\n2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted\n2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted\n2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)\n2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames\n2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted\n2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted\n2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)\n2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:30:07.345631Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.0x), 98 JPEGs deleted\n2026-04-13T16:30:09.401035Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 4.2MB → 0.2MB (17.5x), 35 JPEGs deleted\n2026-04-13T16:30:58.877763Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:30:58.877747+00:00 (14d retention)\n2026-04-13T16:35:09.543901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 123 eligible frames\n2026-04-13T16:35:15.118342Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (29.4x), 98 JPEGs deleted\n2026-04-13T16:35:16.544264Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.8MB → 0.2MB (13.7x), 23 JPEGs deleted\n2026-04-13T16:35:58.877807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:35:58.877797+00:00 (14d retention)\n2026-04-13T16:38:16.074486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9190773859099204307, trigger=click)\n2026-04-13T16:39:15.630281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=visual_change)\n2026-04-13T16:39:18.164527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T16:39:39.417651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:39:46.483591Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T16:40:16.572113Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 142 eligible frames\n2026-04-13T16:40:21.964524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.3x), 98 JPEGs deleted\n2026-04-13T16:40:23.872191Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T16:40:24.338496Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 5.1MB → 0.3MB (19.6x), 42 JPEGs deleted\n2026-04-13T16:40:58.876854Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:40:58.876845+00:00 (14d retention)\n2026-04-13T16:41:10.838114Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=visual_change)\n2026-04-13T16:42:13.892340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5199349294477942535, trigger=click)\n2026-04-13T16:42:44.819070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:45:24.413681Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 163 eligible frames\n2026-04-13T16:45:29.941955Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.1x), 98 JPEGs deleted\n2026-04-13T16:45:33.507323Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 7.6MB → 0.3MB (24.3x), 63 JPEGs deleted\n2026-04-13T16:45:58.885928Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:45:58.885879+00:00 (14d retention)\n2026-04-13T16:50:33.536731Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-13T16:50:39.528450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 12.0MB → 2.2MB (5.4x), 98 JPEGs deleted\n2026-04-13T16:50:41.016936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.5MB → 1.6MB (2.2x), 17 JPEGs deleted\n2026-04-13T16:50:58.885615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:50:58.885607+00:00 (14d retention)\n2026-04-13T16:55:41.041166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:55:46.654516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 17.3MB → 4.5MB (3.8x), 98 JPEGs deleted\n2026-04-13T16:55:48.802425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.0MB → 0.9MB (7.8x), 35 JPEGs deleted\n2026-04-13T16:55:58.885247Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:55:58.885238+00:00 (14d retention)\n2026-04-13T17:00:48.921394Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-13T17:00:54.499682Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 2.0MB (9.8x), 98 JPEGs deleted\n2026-04-13T17:00:56.069295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 0.7MB (7.2x), 25 JPEGs deleted\n2026-04-13T17:00:58.884750Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:00:58.884741+00:00 (14d retention)\n2026-04-13T17:04:17.476028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:20.514684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:23.559568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:29.620877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:44.761227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:21.254931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:24.295008Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:27.336461Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:30.386176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:42.486968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:51.582326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:54.624396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:56.063515Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 172 eligible frames\n2026-04-13T17:05:58.849231Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:05:58.849225+00:00 (14d retention)\n2026-04-13T17:06:01.555232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.4MB (13.6x), 98 JPEGs deleted\n2026-04-13T17:06:05.597067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 72 frames, 14.3MB → 1.1MB (12.9x), 72 JPEGs deleted\n2026-04-13T17:06:09.702568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:06:58.426892Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:07:01.047902Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:07:12.921022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:08:32.658411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=visual_change)\n2026-04-13T17:08:33.461053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:34.888152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:44.751908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6880399320930358557, trigger=visual_change)\n2026-04-13T17:08:47.811335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5551774685991471183, trigger=visual_change)\n2026-04-13T17:08:59.877508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3750487923867570316, trigger=visual_change)\n2026-04-13T17:09:05.917138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5193827678277969729, trigger=visual_change)\n2026-04-13T17:09:08.963248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1573230130233012243, trigger=visual_change)\n2026-04-13T17:09:27.538887Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=visual_change)\n2026-04-13T17:10:15.148423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2198924557410214150, trigger=click)\n2026-04-13T17:10:19.711447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8529595713999975857, trigger=visual_change)\n2026-04-13T17:10:23.842094Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:10:58.846075Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:10:58.846061+00:00 (14d retention)\n2026-04-13T17:11:05.614778Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 133 eligible frames\n2026-04-13T17:11:11.080267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.6MB (12.4x), 98 JPEGs deleted\n2026-04-13T17:11:13.049885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.6MB → 0.8MB (8.5x), 33 JPEGs deleted\n2026-04-13T17:14:28.187399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=click)\n2026-04-13T17:15:58.842867Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:15:58.842852+00:00 (14d retention)\n2026-04-13T17:16:00.560201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3089258739618396828, trigger=click)\n2026-04-13T17:16:05.720267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-756028078299947006, trigger=click)\n2026-04-13T17:16:13.081624Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-13T17:16:17.891451Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 82 frames, 16.3MB → 1.7MB (9.4x), 82 JPEGs deleted\n2026-04-13T17:17:45.943910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7911837907515514222, trigger=click)\n2026-04-13T17:18:44.492158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5928663278776159308, trigger=visual_change)\n2026-04-13T17:19:18.239507Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8963743573879133782, trigger=visual_change)\n2026-04-13T17:20:52.622485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=visual_change)\n2026-04-13T17:20:52.865628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:53.794741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:55.173220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:56.419536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:58.841572Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:20:58.841554+00:00 (14d retention)\n2026-04-13T17:21:17.914363Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T17:21:23.033357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 19.3MB → 6.9MB (2.8x), 87 JPEGs deleted\n2026-04-13T17:22:17.281652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8506419545576175835, trigger=visual_change)\n2026-04-13T17:22:24.174259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8506170850142559396, trigger=click)\n2026-04-13T17:24:29.375130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1367698138829933492, trigger=click)\n2026-04-13T17:25:30.618046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5264066362649694131, trigger=clipboard)\n2026-04-13T17:25:58.861117Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:25:58.861102+00:00 (14d retention)\n2026-04-13T17:26:07.783284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3389874276161121002, trigger=clipboard)\n2026-04-13T17:26:23.079232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 43 eligible frames\n2026-04-13T17:26:25.533960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 8.5MB → 1.4MB (5.9x), 42 JPEGs deleted\n2026-04-13T17:26:26.405342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4749965863260205632, trigger=click)\n2026-04-13T17:27:03.146806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T17:30:23.856612Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:30:58.861025Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:30:58.861012+00:00 (14d retention)\n2026-04-13T17:31:25.542075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:31:29.155449Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 13.1MB → 1.9MB (6.9x), 65 JPEGs deleted\n2026-04-13T17:31:53.487787Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8861777922848222919, trigger=click)\n2026-04-13T17:35:26.901256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:29.203266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:31.520280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=clipboard)\n2026-04-13T17:35:33.300160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T17:35:45.306897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6087902347824858697, trigger=clipboard)\n2026-04-13T17:35:58.859672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:35:58.859656+00:00 (14d retention)\n2026-04-13T17:36:29.179810Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T17:36:32.011609Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 10.8MB → 1.7MB (6.2x), 49 JPEGs deleted\n2026-04-13T17:40:58.858490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:40:58.858471+00:00 (14d retention)\n2026-04-13T17:41:32.043222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T17:41:36.069242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 16.1MB → 1.1MB (14.5x), 71 JPEGs deleted\n2026-04-13T17:42:15.596334Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4235966675435269325, trigger=click)\n2026-04-13T17:45:58.869276Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:45:58.869266+00:00 (14d retention)\n2026-04-13T17:46:36.092867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:46:39.758714Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 15.1MB → 1.0MB (15.3x), 65 JPEGs deleted\n2026-04-13T17:49:46.579982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8606465934501073324, trigger=click)\n2026-04-13T17:50:58.869493Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:50:58.869486+00:00 (14d retention)\n2026-04-13T17:51:39.783256Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 16 eligible frames\n2026-04-13T17:51:40.758071Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 3.5MB → 0.4MB (9.1x), 15 JPEGs deleted\n2026-04-13T17:52:09.695481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:52:18.104878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:20.446688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:22.950263Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:55:58.869201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:55:58.869180+00:00 (14d retention)\n2026-04-13T17:56:40.787956Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-13T17:56:42.144760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 5.1MB → 0.4MB (13.2x), 22 JPEGs deleted\n2026-04-13T17:57:54.358454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:57:58.419369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:12.778123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:16.712796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:20.448642Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:36.397921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T17:58:39.343061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T18:00:55.845071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-439578195712127451, trigger=click)\n2026-04-13T18:00:58.868418Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:00:58.868403+00:00 (14d retention)\n2026-04-13T18:01:42.187214Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-13T18:01:44.040254Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 7.2MB → 0.5MB (14.4x), 31 JPEGs deleted\n2026-04-13T18:03:22.816287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-481145244361585685, trigger=click)\n2026-04-13T18:05:58.873688Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:05:58.873678+00:00 (14d retention)\n2026-04-13T18:06:44.077710Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-13T18:06:46.456870Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 9.6MB → 0.4MB (24.2x), 41 JPEGs deleted\n2026-04-13T18:10:58.873801Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:10:58.873743+00:00 (14d retention)\n2026-04-13T18:11:46.492855Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-04-13T18:11:48.658067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 8.6MB → 0.8MB (11.3x), 37 JPEGs deleted\n2026-04-13T18:15:58.875133Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:15:58.875119+00:00 (14d retention)\n2026-04-13T18:16:48.694011Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 27 eligible frames\n2026-04-13T18:16:50.273243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 6.1MB → 0.4MB (15.6x), 26 JPEGs deleted\n2026-04-13T18:18:31.734321Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T18:23:08.990753Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:23:08.990735+00:00 (14d retention)\n2026-04-13T18:24:18.871885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:24:20.038791Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.2MB → 0.4MB (10.8x), 18 JPEGs deleted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T18:35:13.146239Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T18:35:13.149068Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T18:35:13.170962Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T18:35:13.680481Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T18:35:27.620608Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-13T18:36:17.152264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1184372696878099077, trigger=click)\n2026-04-13T18:36:28.363701Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:36:28.363689+00:00 (14d retention)\n2026-04-13T18:37:21.142467Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 10 eligible frames\n2026-04-13T18:37:21.905994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 2.1MB → 0.4MB (5.5x), 9 JPEGs deleted\n2026-04-13T18:37:36.639362Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6976444594554398738, trigger=click)\n2026-04-13T18:39:53.327516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:41:28.358989Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:41:28.358952+00:00 (14d retention)\n2026-04-13T18:42:21.940046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-13T18:46:28.358214Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:46:28.358197+00:00 (14d retention)\n2026-04-13T18:47:21.955151Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 6 eligible frames\n2026-04-13T18:47:22.689470Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.5MB (2.3x), 6 JPEGs deleted\n2026-04-13T18:48:30.117101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8612826691778232576, trigger=click)\n2026-04-13T18:51:28.358332Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:51:28.358272+00:00 (14d retention)\n2026-04-13T18:52:22.720460Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T18:52:24.625362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.5MB → 0.5MB (14.3x), 32 JPEGs deleted\n2026-04-13T18:53:26.194571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2525325065609490636, trigger=click)\n2026-04-13T18:54:48.394617Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:56:28.358108Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:56:28.358077+00:00 (14d retention)\n2026-04-13T18:57:24.630003Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:57:26.008482Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.3MB → 1.1MB (3.8x), 18 JPEGs deleted\n2026-04-13T19:01:28.309932Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:01:28.309902+00:00 (14d retention)\n2026-04-13T19:01:34.835096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8845567138521432327, trigger=click)\n2026-04-13T19:02:26.033245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 59 eligible frames\n2026-04-13T19:02:29.410795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 15.1MB → 2.4MB (6.3x), 58 JPEGs deleted\n2026-04-13T19:06:28.306223Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:06:28.306189+00:00 (14d retention)\n2026-04-13T19:07:29.443796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T19:07:32.264873Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 9.3MB → 1.9MB (4.9x), 49 JPEGs deleted\n2026-04-13T19:09:21.780997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2535583028595392832, trigger=click)\n2026-04-13T19:11:28.301542Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:11:28.301502+00:00 (14d retention)\n2026-04-13T19:12:32.301751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-04-13T19:12:35.543171Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 54 frames, 8.4MB → 0.2MB (34.0x), 54 JPEGs deleted\n2026-04-13T19:15:28.279261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643209958340923733, trigger=click)\n2026-04-13T19:16:28.300071Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:16:28.300040+00:00 (14d retention)\n2026-04-13T19:17:35.879347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T19:17:37.771162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.0MB → 0.2MB (21.2x), 32 JPEGs deleted\n2026-04-13T19:21:28.313672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:21:28.313650+00:00 (14d retention)\n2026-04-13T19:21:43.867272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:21:53.316112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:22:37.824162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-13T19:22:39.564867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 4.5MB → 0.2MB (19.7x), 29 JPEGs deleted\n2026-04-13T19:23:58.293564Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:05.926037Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:07.100441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:08.189505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:09.316024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:10.334454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:11.039989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.279934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.934012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:13.905703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:14.688081Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:16.790073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:17.648048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:18.648340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:20.939136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:32.085226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1677564857471996960, trigger=click)\n2026-04-13T19:24:52.669280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5315255766850756707, trigger=click)\n2026-04-13T19:26:28.311385Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:26:28.311371+00:00 (14d retention)\n2026-04-13T19:27:39.600820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T19:27:43.607748Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 10.7MB → 2.0MB (5.3x), 71 JPEGs deleted\n2026-04-13T19:29:29.337437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6191878184103635993, trigger=click)\n2026-04-13T19:30:53.305205Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T19:31:28.308892Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:31:28.308882+00:00 (14d retention)\n2026-04-13T19:32:39.123443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:32:43.640042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-13T19:32:47.533673Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 69 frames, 10.8MB → 0.5MB (22.6x), 69 JPEGs deleted\n2026-04-13T19:32:50.924091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:36:28.306590Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:36:28.306551+00:00 (14d retention)\n2026-04-13T19:37:47.886163Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T19:37:51.291730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:37:52.768785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 13.5MB → 0.5MB (28.8x), 87 JPEGs deleted\n2026-04-13T19:37:57.364851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:38:38.577300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4736856628251450227, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-strt\nzsh: command not found: sp-strt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start \n[1] 21900\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-13T19:39:27.177326Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-13T19:39:29.590345Z WARN sqlx::query: summary=\"-- Partial index on …\" db.statement=\"\\n\\n-- Partial index on frames.elements_ref_frame_id to eliminate the full\\n-- table scan in the retention anchor-frame subquery.\\n--\\n-- The correlated subquery in delete_time_range_batch:\\n-- SELECT DISTINCT f.id FROM frames f\\n-- WHERE f.timestamp BETWEEN ?1 AND ?2\\n-- AND EXISTS (SELECT 1 FROM frames ref\\n-- WHERE ref.elements_ref_frame_id = f.id\\n-- AND ref.timestamp NOT BETWEEN ?1 AND ?2)\\n--\\n-- falls back to a full scan of `frames` on the inner EXISTS without this\\n-- index (elements_ref_frame_id was added in 20260318000000 without one).\\n-- Measured 5m55s per 1-hour retention batch on a 33k-frame DB, making\\n-- retention unusable on any non-trivial backlog.\\n--\\n-- With the index, the inner plan becomes:\\n-- SEARCH ref USING INDEX idx_frames_elements_ref_frame_id (elements_ref_frame_id=?)\\n-- and the same query runs in ~5ms.\\n--\\n-- Partial (WHERE elements_ref_frame_id IS NOT NULL) because only frames\\n-- that reference a dedup anchor are relevant here. Storage cost is\\n-- negligible -- single-digit MB/year for typical capture volume, and it\\n-- is the smallest index on the frames table by a wide margin.\\nCREATE INDEX IF NOT EXISTS idx_frames_elements_ref_frame_id ON frames(elements_ref_frame_id)\\nWHERE\\n elements_ref_frame_id IS NOT NULL;\\n\" rows_affected=0 rows_returned=0 elapsed=1.230052917s\n2026-04-13T19:39:29.593268Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-13T19:39:29.594665Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-13T19:39:29.594680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-13T19:39:29.595089Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-13T19:39:29.595024Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-13T19:39:29.595128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-13T19:39:29.595223Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-13T19:39:29.595562Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-13T19:39:29.595770Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-13T19:39:29.596448Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-13T19:39:29.596584Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-13T19:39:29.596715Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-13T19:39:29.596827Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-13T19:39:29.596844Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-13T19:39:29.598802Z INFO screenpipe: starting UI event capture\n2026-04-13T19:39:29.598404Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-13T19:39:29.603432Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-13T19:39:29.609967Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-13T19:39:29.615106Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-13T19:39:29.630434Z INFO screenpipe_engine::ui_recorder: UI recording session started: faca997c-ce9a-477c-b5d0-e56e509585e9\n2026-04-13T19:39:29.630483Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-13T19:39:29.630562Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-12 16:39:29.630549 UTC to 2026-04-13 16:39:29.630549 UTC)\n2026-04-13T19:39:29.631025Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-13T19:39:29.637981Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-13T19:39:29.643829Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-13T19:39:29.788633Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3943 frame entries, coverage from 2026-04-12 16:39:29.630549 UTC\n2026-04-13T19:39:30.543977Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-13T19:39:30.544012Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-13T19:39:30.544060Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-13T19:39:31.016978Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-13T19:39:31.017036Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-13T19:39:31.017080Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-13T19:39:31.017114Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-13T19:39:32.207273Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-13T19:39:32.673392Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=7912, dur=47ms\n2026-04-13T19:39:32.704069Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-13T19:39:32.872035Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=7913, dur=108ms\n2026-04-13T19:39:34.636509Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-13T19:39:34.637200Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-13T19:39:44.339956Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=5000 elapsed=1.608390416s\n2026-04-13T19:40:29.616115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 17 eligible frames\n2026-04-13T19:40:31.310725Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.5MB → 0.2MB (11.1x), 16 JPEGs deleted\n2026-04-13T19:41:39.668138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:41:40.367247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:42:16.296737Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-96467039929937080, trigger=click)\n2026-04-13T19:42:34.936430Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5664644461248729071, trigger=visual_change)\n2026-04-13T19:44:29.627763Z INFO screenpipe_engine::server: api_usage_5min: 5 requests\n2026-04-13T19:45:04.634490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:45:04.634462+00:00 (14d retention)\n2026-04-13T19:45:31.349267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 20 eligible frames\n2026-04-13T19:45:32.543028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.0MB → 0.3MB (9.9x), 19 JPEGs deleted\n2026-04-13T19:50:02.916584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:02.918035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:04.630322Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:50:04.630300+00:00 (14d retention)\n2026-04-13T19:50:32.575742Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-13T19:50:35.515577Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 6.6MB → 2.0MB (3.3x), 46 JPEGs deleted\n2026-04-13T19:50:36.330072Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.6MB (1.9x), 6 JPEGs deleted\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 24316\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-14T09:23:18.095876Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-14T09:23:19.016665Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-14T09:23:19.018052Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-14T09:23:19.018065Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-14T09:23:19.018310Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-14T09:23:19.018350Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-14T09:23:19.018329Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-14T09:23:19.018781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-14T09:23:19.018887Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-14T09:23:19.018976Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-14T09:23:19.019743Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-14T09:23:19.021386Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-14T09:23:19.021709Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-14T09:23:19.021835Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-14T09:23:19.021852Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-14T09:23:19.025225Z INFO screenpipe: starting UI event capture\n2026-04-14T09:23:19.024042Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-14T09:23:19.034460Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-14T09:23:19.035048Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-14T09:23:19.041739Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-14T09:23:19.057947Z INFO screenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd49\n2026-04-14T09:23:19.058064Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-14T09:23:19.058114Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-13 06:23:19.058103 UTC to 2026-04-14 06:23:19.058103 UTC)\n2026-04-14T09:23:19.062532Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-14T09:23:19.066551Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-14T09:23:19.080775Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-14T09:23:19.697314Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTC\n2026-04-14T09:23:19.985445Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-14T09:23:19.985474Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-14T09:23:19.985515Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-14T09:23:20.492622Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-14T09:23:20.492664Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-14T09:23:20.492694Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-14T09:23:20.492726Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-14T09:23:21.313246Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-14T09:23:22.387611Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-14T09:23:22.954948Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=8037, dur=1082ms\n2026-04-14T09:23:23.488645Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms\n2026-04-14T09:23:24.063719Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-14T09:23:24.063951Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-14T09:24:19.745739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-14T09:24:23.350916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGs deleted\n2026-04-14T09:24:26.531119Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted\n2026-04-14T09:28:19.055456Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:28:54.061635Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)\n2026-04-14T09:29:26.561625Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-14T09:33:54.056707Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)\n2026-04-14T09:34:26.581293Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames\n2026-04-14T09:34:27.123519Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x), 4 JPEGs deleted\n2026-04-14T09:34:28.092531Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.8x), 7 JPEGs deleted\n2026-04-14T09:38:54.029363Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:38:54.029346+00:00 (14d retention)\n2026-04-14T09:39:28.082314Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-14T09:39:29.343941Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.0MB → 0.7MB (6.0x), 18 JPEGs deleted\n2026-04-14T09:39:30.750250Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.8MB (4.5x), 20 JPEGs deleted\n2026-04-14T09:41:13.184908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6982821907865222085, trigger=click)\n2026-04-14T09:41:19.221590Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6812429097673958383, trigger=visual_change)\n2026-04-14T09:42:17.435758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6365427964931292073, trigger=click)\n2026-04-14T09:42:33.656193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4160452185621303946, trigger=click)\n2026-04-14T09:42:46.140088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2304266842869419917, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-14T09:43:54.022784Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:43:54.022742+00:00 (14d retention)\n2026-04-14T09:44:07.036758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:16.412880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:31.467140Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-04-14T09:44:32.220816Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.2MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:33.112790Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.5MB → 0.4MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:49.822061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=visual_change)\n2026-04-14T09:44:58.085483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=click)\n2026-04-14T09:45:11.008075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=visual_change)\n2026-04-14T09:45:27.976077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:28.005455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:33.771220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6619028446781713005, trigger=click)\n2026-04-14T09:46:17.937329Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:20.967541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:39.124248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=visual_change)\n2026-04-14T09:46:48.114315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:46:48.134347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:48:19.010549Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:48:28.225785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:28.241367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:35.474701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2313032521647048085, trigger=click)\n2026-04-14T09:48:44.297355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=529628650036307666, trigger=click)\n2026-04-14T09:48:54.016503Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:48:54.016484+00:00 (14d retention)\n2026-04-14T09:49:33.136435Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 87 eligible frames\n2026-04-14T09:49:35.411222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 8.9MB → 1.6MB (5.4x), 33 JPEGs deleted\n2026-04-14T09:49:39.291290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 10.8MB → 4.1MB (2.6x), 52 JPEGs deleted\n2026-04-14T09:52:10.262616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4590837745933313988, trigger=click)\n2026-04-14T09:52:25.201982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:28.245911Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:37.345773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:40.396144Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:54.098628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:52:54.108786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:53:13.724192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:16.763953Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:19.793338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:25.860403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:28.887448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:31.919424Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:44.021891Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6850664184897375859, trigger=visual_change)\n2026-04-14T09:53:53.090419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:54.010522Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:53:54.010512+00:00 (14d retention)\n2026-04-14T09:53:56.129621Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:59.154578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:54:05.213884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:08.251183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:14.329171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:39.747828Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 186 eligible frames\n2026-04-14T09:54:41.500859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2366998612440519548, trigger=visual_change)\n2026-04-14T09:54:44.836247Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 86 frames, 14.4MB → 3.3MB (4.3x), 86 JPEGs deleted\n2026-04-14T09:54:51.018273Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.3MB → 5.7MB (2.5x), 98 JPEGs deleted\n2026-04-14T09:58:35.439655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7018639353123991036, trigger=click)\n2026-04-14T09:58:53.989016Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:58:53.989006+00:00 (14d retention)\n2026-04-14T09:59:51.618785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 150 eligible frames\n2026-04-14T09:59:57.069345Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 80 frames, 12.2MB → 4.4MB (2.8x), 80 JPEGs deleted\n2026-04-14T10:00:04.665192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.2MB → 5.4MB (2.3x), 68 JPEGs deleted","depth":4,"value":"clipboard)\n2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted\n2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)\n2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)\n2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)\n2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)\n2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)\n2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)\n2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)\n2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)\n2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)\n2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests\n2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)\n2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted\n2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)\n2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames\n2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted\n2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)\n2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted\n2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)\n2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted\n2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)\n2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)\n2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:19:54.331647Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:19:54.331585+00:00 (14d retention)\n2026-04-12T14:25:49.460879Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:47:08.896043Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:51:40.566736Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:51:40.566667+00:00 (14d retention)\n2026-04-12T15:04:41.463531Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T15:09:53.670591Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T15:09:53.687234Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T15:09:53.694692Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T15:09:54.069049Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T15:09:54.972151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=click)\n2026-04-12T15:10:00.918510Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4593439385064446773, trigger=visual_change)\n2026-04-12T15:10:03.918707Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T15:11:30.984863Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:11:30.984842+00:00 (14d retention)\n2026-04-12T15:16:30.982686Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:16:30.982661+00:00 (14d retention)\n2026-04-12T15:21:30.980571Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:21:30.980551+00:00 (14d retention)\n2026-04-12T15:22:42.975270Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-12T15:22:45.011395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 3.1MB → 1.1MB (2.8x), 33 JPEGs deleted\n2026-04-12T15:26:30.978141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:26:30.978120+00:00 (14d retention)\n2026-04-12T15:27:45.265922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-12T15:27:49.938865Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 83 frames, 6.3MB → 0.1MB (58.2x), 83 JPEGs deleted\n2026-04-12T15:31:30.953991Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:31:30.953971+00:00 (14d retention)\n2026-04-12T15:32:50.166006Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:32:55.707883Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 7.5MB → 0.1MB (70.1x), 99 JPEGs deleted\n2026-04-12T15:32:56.071976Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (3.0x), 3 JPEGs deleted\n2026-04-12T15:36:30.948421Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:36:30.948401+00:00 (14d retention)\n2026-04-12T15:37:56.337459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:38:01.842312Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.0x), 98 JPEGs deleted\n2026-04-12T15:38:02.207918Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (2.8x), 3 JPEGs deleted\n2026-04-12T15:41:30.945296Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:41:30.945274+00:00 (14d retention)\n2026-04-12T15:43:02.496758Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:43:08.031970Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (68.3x), 98 JPEGs deleted\n2026-04-12T15:43:09.583075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.5x), 26 JPEGs deleted\n2026-04-12T15:46:30.941625Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:46:30.941607+00:00 (14d retention)\n2026-04-12T15:48:09.854085Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 127 eligible frames\n2026-04-12T15:48:15.376242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.2x), 98 JPEGs deleted\n2026-04-12T15:48:16.986205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.0MB → 0.1MB (22.4x), 27 JPEGs deleted\n2026-04-12T15:51:30.931020Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:51:30.931+00:00 (14d retention)\n2026-04-12T15:53:17.140652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:53:22.544303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.5x), 98 JPEGs deleted\n2026-04-12T15:53:24.051282Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.4x), 26 JPEGs deleted\n2026-04-12T15:56:30.903513Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:56:30.903491+00:00 (14d retention)\n2026-04-12T15:58:24.061857Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 107 eligible frames\n2026-04-12T15:58:29.565651Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.8x), 98 JPEGs deleted\n2026-04-12T15:58:30.163222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 0.5MB → 0.1MB (6.1x), 7 JPEGs deleted\n2026-04-12T16:01:30.898705Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:01:30.898688+00:00 (14d retention)\n2026-04-12T16:03:30.176572Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-12T16:03:35.702407Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (66.5x), 98 JPEGs deleted\n2026-04-12T16:03:37.208567Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 1.9MB → 0.1MB (19.5x), 25 JPEGs deleted\n2026-04-12T16:06:30.893145Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:06:30.893123+00:00 (14d retention)\n2026-04-12T16:08:37.224128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 137 eligible frames\n2026-04-12T16:08:42.754922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (55.1x), 98 JPEGs deleted\n2026-04-12T16:08:44.902888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 2.9MB → 0.1MB (27.8x), 37 JPEGs deleted\n2026-04-12T16:11:30.884492Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:11:30.884475+00:00 (14d retention)\n2026-04-12T16:13:44.914274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 102 eligible frames\n2026-04-12T16:13:50.332990Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (60.2x), 98 JPEGs deleted\n2026-04-12T16:13:50.582963Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 2 frames, 0.2MB → 0.1MB (1.9x), 2 JPEGs deleted\n2026-04-12T16:16:30.874710Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:16:30.874654+00:00 (14d retention)\n2026-04-12T16:18:50.598274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-04-12T16:18:55.602978Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 7.0MB → 0.1MB (56.9x), 90 JPEGs deleted\n2026-04-12T16:21:30.868887Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:21:30.868843+00:00 (14d retention)\n2026-04-12T16:23:55.619078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\n2026-04-12T16:23:57.827626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 2.9MB → 0.1MB (28.1x), 38 JPEGs deleted\n2026-04-12T16:25:51.808414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T16:25:55.859250Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-12T16:26:22.022550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=335681983743287612, trigger=visual_change)\n2026-04-12T16:26:30.862865Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:26:30.862859+00:00 (14d retention)\n2026-04-12T16:26:49.195853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=visual_change)\n2026-04-12T16:26:50.724575Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=clipboard)\n2026-04-12T16:26:58.277345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:26:59.647372Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=clipboard)\n2026-04-12T16:27:58.948426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:28:57.842202Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-12T16:28:59.471378Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.1MB → 0.1MB (19.7x), 27 JPEGs deleted\n2026-04-12T16:30:07.202386Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3216013508830929208, trigger=click)\n2026-04-12T16:30:55.852584Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T16:31:30.887381Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:31:30.887363+00:00 (14d retention)\n2026-04-12T16:31:49.004783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:31:49.729537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=click)\n2026-04-12T16:31:55.091180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:32:38.955241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:41.068172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=clipboard)\n2026-04-12T16:32:42.939568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:44.448998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=visual_change)\n2026-04-12T16:32:46.133335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=click)\n2026-04-12T16:32:47.467019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:32:47.909378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=clipboard)\n2026-04-12T16:33:06.479217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:33:09.545186Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5503780454464997020, trigger=visual_change)\n2026-04-12T16:33:15.550145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7389604070772900291, trigger=visual_change)\n2026-04-12T16:33:59.523675Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 12 eligible frames\n2026-04-12T16:34:00.275262Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 0.9MB → 0.1MB (9.2x), 11 JPEGs deleted\n2026-04-12T16:36:30.893415Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:36:30.893405+00:00 (14d retention)\n2026-04-12T16:37:02.339834Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T16:42:28.176895Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 54 eligible frames\n2026-04-12T16:42:31.234893Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 4.9MB → 1.5MB (3.4x), 53 JPEGs deleted\n2026-04-12T16:46:30.256919Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:46:30.256841+00:00 (14d retention)\n2026-04-12T16:58:23.782435Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T16:59:58.366015Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames\n2026-04-12T16:59:59.856243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 2.8MB → 0.5MB (5.8x), 24 JPEGs deleted\n2026-04-12T18:37:05.993577Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T18:39:53.607673Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T18:46:44.262699Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T15:46:44.262630+00:00 (14d retention)\n2026-04-12T18:55:18.717641Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T19:09:18.536900Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T20:13:29.785331Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T17:13:29.785272+00:00 (14d retention)\n2026-04-12T20:13:47.397970Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording\n2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)\n2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording\n2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6\n2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording\n2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording\n2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6\n2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1\n2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)\n2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)\n2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)\n2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)\n2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)\n2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)\n2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)\n2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)\n2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)\n2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)\n2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)\n2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)\n2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)\n2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)\n2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)\n2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)\n2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)\n2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)\n2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)\n2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)\n2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)\n2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)\n2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)\n2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)\n2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)\n2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)\n2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)\n2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)\n2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)\n2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)\n2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)\n2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)\n2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)\n2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)\n2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)\n2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)\n2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)\n2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)\n2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)\n2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)\n2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)\n2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)\n2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)\n2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)\n2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)\n2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)\n2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)\n2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames\n2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted\n2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted\n2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)\n2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames\n2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)\n2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted\n2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)\n2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted\n2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)\n2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames\n2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted\n2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)\n2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)\n2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted\n2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted\n2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)\n2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames\n2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted\n2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted\n2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)\n2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames\n2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted\n2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted\n2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)\n2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted\n2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)\n2026-04-13T15:57:06.748688Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=1000 elapsed=1.158041625s\n2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted\n2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)\n2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames\n2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted\n2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)\n2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted\n2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)\n2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames\n2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted\n2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted\n2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)\n2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted\n2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted\n2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)\n2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames\n2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted\n2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted\n2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)\n2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:30:07.345631Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.0x), 98 JPEGs deleted\n2026-04-13T16:30:09.401035Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 4.2MB → 0.2MB (17.5x), 35 JPEGs deleted\n2026-04-13T16:30:58.877763Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:30:58.877747+00:00 (14d retention)\n2026-04-13T16:35:09.543901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 123 eligible frames\n2026-04-13T16:35:15.118342Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (29.4x), 98 JPEGs deleted\n2026-04-13T16:35:16.544264Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.8MB → 0.2MB (13.7x), 23 JPEGs deleted\n2026-04-13T16:35:58.877807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:35:58.877797+00:00 (14d retention)\n2026-04-13T16:38:16.074486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9190773859099204307, trigger=click)\n2026-04-13T16:39:15.630281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=visual_change)\n2026-04-13T16:39:18.164527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T16:39:39.417651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:39:46.483591Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T16:40:16.572113Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 142 eligible frames\n2026-04-13T16:40:21.964524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.3x), 98 JPEGs deleted\n2026-04-13T16:40:23.872191Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T16:40:24.338496Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 5.1MB → 0.3MB (19.6x), 42 JPEGs deleted\n2026-04-13T16:40:58.876854Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:40:58.876845+00:00 (14d retention)\n2026-04-13T16:41:10.838114Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=visual_change)\n2026-04-13T16:42:13.892340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5199349294477942535, trigger=click)\n2026-04-13T16:42:44.819070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:45:24.413681Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 163 eligible frames\n2026-04-13T16:45:29.941955Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.1x), 98 JPEGs deleted\n2026-04-13T16:45:33.507323Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 7.6MB → 0.3MB (24.3x), 63 JPEGs deleted\n2026-04-13T16:45:58.885928Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:45:58.885879+00:00 (14d retention)\n2026-04-13T16:50:33.536731Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-13T16:50:39.528450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 12.0MB → 2.2MB (5.4x), 98 JPEGs deleted\n2026-04-13T16:50:41.016936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.5MB → 1.6MB (2.2x), 17 JPEGs deleted\n2026-04-13T16:50:58.885615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:50:58.885607+00:00 (14d retention)\n2026-04-13T16:55:41.041166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:55:46.654516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 17.3MB → 4.5MB (3.8x), 98 JPEGs deleted\n2026-04-13T16:55:48.802425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.0MB → 0.9MB (7.8x), 35 JPEGs deleted\n2026-04-13T16:55:58.885247Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:55:58.885238+00:00 (14d retention)\n2026-04-13T17:00:48.921394Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-13T17:00:54.499682Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 2.0MB (9.8x), 98 JPEGs deleted\n2026-04-13T17:00:56.069295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 0.7MB (7.2x), 25 JPEGs deleted\n2026-04-13T17:00:58.884750Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:00:58.884741+00:00 (14d retention)\n2026-04-13T17:04:17.476028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:20.514684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:23.559568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:29.620877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:44.761227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:21.254931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:24.295008Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:27.336461Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:30.386176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:42.486968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:51.582326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:54.624396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:56.063515Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 172 eligible frames\n2026-04-13T17:05:58.849231Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:05:58.849225+00:00 (14d retention)\n2026-04-13T17:06:01.555232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.4MB (13.6x), 98 JPEGs deleted\n2026-04-13T17:06:05.597067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 72 frames, 14.3MB → 1.1MB (12.9x), 72 JPEGs deleted\n2026-04-13T17:06:09.702568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:06:58.426892Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:07:01.047902Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:07:12.921022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:08:32.658411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=visual_change)\n2026-04-13T17:08:33.461053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:34.888152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:44.751908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6880399320930358557, trigger=visual_change)\n2026-04-13T17:08:47.811335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5551774685991471183, trigger=visual_change)\n2026-04-13T17:08:59.877508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3750487923867570316, trigger=visual_change)\n2026-04-13T17:09:05.917138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5193827678277969729, trigger=visual_change)\n2026-04-13T17:09:08.963248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1573230130233012243, trigger=visual_change)\n2026-04-13T17:09:27.538887Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=visual_change)\n2026-04-13T17:10:15.148423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2198924557410214150, trigger=click)\n2026-04-13T17:10:19.711447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8529595713999975857, trigger=visual_change)\n2026-04-13T17:10:23.842094Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:10:58.846075Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:10:58.846061+00:00 (14d retention)\n2026-04-13T17:11:05.614778Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 133 eligible frames\n2026-04-13T17:11:11.080267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.6MB (12.4x), 98 JPEGs deleted\n2026-04-13T17:11:13.049885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.6MB → 0.8MB (8.5x), 33 JPEGs deleted\n2026-04-13T17:14:28.187399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=click)\n2026-04-13T17:15:58.842867Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:15:58.842852+00:00 (14d retention)\n2026-04-13T17:16:00.560201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3089258739618396828, trigger=click)\n2026-04-13T17:16:05.720267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-756028078299947006, trigger=click)\n2026-04-13T17:16:13.081624Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-13T17:16:17.891451Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 82 frames, 16.3MB → 1.7MB (9.4x), 82 JPEGs deleted\n2026-04-13T17:17:45.943910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7911837907515514222, trigger=click)\n2026-04-13T17:18:44.492158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5928663278776159308, trigger=visual_change)\n2026-04-13T17:19:18.239507Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8963743573879133782, trigger=visual_change)\n2026-04-13T17:20:52.622485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=visual_change)\n2026-04-13T17:20:52.865628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:53.794741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:55.173220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:56.419536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:58.841572Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:20:58.841554+00:00 (14d retention)\n2026-04-13T17:21:17.914363Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T17:21:23.033357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 19.3MB → 6.9MB (2.8x), 87 JPEGs deleted\n2026-04-13T17:22:17.281652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8506419545576175835, trigger=visual_change)\n2026-04-13T17:22:24.174259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8506170850142559396, trigger=click)\n2026-04-13T17:24:29.375130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1367698138829933492, trigger=click)\n2026-04-13T17:25:30.618046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5264066362649694131, trigger=clipboard)\n2026-04-13T17:25:58.861117Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:25:58.861102+00:00 (14d retention)\n2026-04-13T17:26:07.783284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3389874276161121002, trigger=clipboard)\n2026-04-13T17:26:23.079232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 43 eligible frames\n2026-04-13T17:26:25.533960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 8.5MB → 1.4MB (5.9x), 42 JPEGs deleted\n2026-04-13T17:26:26.405342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4749965863260205632, trigger=click)\n2026-04-13T17:27:03.146806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T17:30:23.856612Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:30:58.861025Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:30:58.861012+00:00 (14d retention)\n2026-04-13T17:31:25.542075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:31:29.155449Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 13.1MB → 1.9MB (6.9x), 65 JPEGs deleted\n2026-04-13T17:31:53.487787Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8861777922848222919, trigger=click)\n2026-04-13T17:35:26.901256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:29.203266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:31.520280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=clipboard)\n2026-04-13T17:35:33.300160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T17:35:45.306897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6087902347824858697, trigger=clipboard)\n2026-04-13T17:35:58.859672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:35:58.859656+00:00 (14d retention)\n2026-04-13T17:36:29.179810Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T17:36:32.011609Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 10.8MB → 1.7MB (6.2x), 49 JPEGs deleted\n2026-04-13T17:40:58.858490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:40:58.858471+00:00 (14d retention)\n2026-04-13T17:41:32.043222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T17:41:36.069242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 16.1MB → 1.1MB (14.5x), 71 JPEGs deleted\n2026-04-13T17:42:15.596334Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4235966675435269325, trigger=click)\n2026-04-13T17:45:58.869276Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:45:58.869266+00:00 (14d retention)\n2026-04-13T17:46:36.092867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:46:39.758714Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 15.1MB → 1.0MB (15.3x), 65 JPEGs deleted\n2026-04-13T17:49:46.579982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8606465934501073324, trigger=click)\n2026-04-13T17:50:58.869493Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:50:58.869486+00:00 (14d retention)\n2026-04-13T17:51:39.783256Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 16 eligible frames\n2026-04-13T17:51:40.758071Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 3.5MB → 0.4MB (9.1x), 15 JPEGs deleted\n2026-04-13T17:52:09.695481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:52:18.104878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:20.446688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:22.950263Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:55:58.869201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:55:58.869180+00:00 (14d retention)\n2026-04-13T17:56:40.787956Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-13T17:56:42.144760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 5.1MB → 0.4MB (13.2x), 22 JPEGs deleted\n2026-04-13T17:57:54.358454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:57:58.419369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:12.778123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:16.712796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:20.448642Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:36.397921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T17:58:39.343061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T18:00:55.845071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-439578195712127451, trigger=click)\n2026-04-13T18:00:58.868418Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:00:58.868403+00:00 (14d retention)\n2026-04-13T18:01:42.187214Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-13T18:01:44.040254Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 7.2MB → 0.5MB (14.4x), 31 JPEGs deleted\n2026-04-13T18:03:22.816287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-481145244361585685, trigger=click)\n2026-04-13T18:05:58.873688Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:05:58.873678+00:00 (14d retention)\n2026-04-13T18:06:44.077710Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-13T18:06:46.456870Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 9.6MB → 0.4MB (24.2x), 41 JPEGs deleted\n2026-04-13T18:10:58.873801Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:10:58.873743+00:00 (14d retention)\n2026-04-13T18:11:46.492855Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-04-13T18:11:48.658067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 8.6MB → 0.8MB (11.3x), 37 JPEGs deleted\n2026-04-13T18:15:58.875133Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:15:58.875119+00:00 (14d retention)\n2026-04-13T18:16:48.694011Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 27 eligible frames\n2026-04-13T18:16:50.273243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 6.1MB → 0.4MB (15.6x), 26 JPEGs deleted\n2026-04-13T18:18:31.734321Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T18:23:08.990753Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:23:08.990735+00:00 (14d retention)\n2026-04-13T18:24:18.871885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:24:20.038791Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.2MB → 0.4MB (10.8x), 18 JPEGs deleted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T18:35:13.146239Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T18:35:13.149068Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T18:35:13.170962Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T18:35:13.680481Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T18:35:27.620608Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-13T18:36:17.152264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1184372696878099077, trigger=click)\n2026-04-13T18:36:28.363701Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:36:28.363689+00:00 (14d retention)\n2026-04-13T18:37:21.142467Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 10 eligible frames\n2026-04-13T18:37:21.905994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 2.1MB → 0.4MB (5.5x), 9 JPEGs deleted\n2026-04-13T18:37:36.639362Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6976444594554398738, trigger=click)\n2026-04-13T18:39:53.327516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:41:28.358989Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:41:28.358952+00:00 (14d retention)\n2026-04-13T18:42:21.940046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-13T18:46:28.358214Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:46:28.358197+00:00 (14d retention)\n2026-04-13T18:47:21.955151Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 6 eligible frames\n2026-04-13T18:47:22.689470Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.5MB (2.3x), 6 JPEGs deleted\n2026-04-13T18:48:30.117101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8612826691778232576, trigger=click)\n2026-04-13T18:51:28.358332Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:51:28.358272+00:00 (14d retention)\n2026-04-13T18:52:22.720460Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T18:52:24.625362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.5MB → 0.5MB (14.3x), 32 JPEGs deleted\n2026-04-13T18:53:26.194571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2525325065609490636, trigger=click)\n2026-04-13T18:54:48.394617Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:56:28.358108Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:56:28.358077+00:00 (14d retention)\n2026-04-13T18:57:24.630003Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:57:26.008482Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.3MB → 1.1MB (3.8x), 18 JPEGs deleted\n2026-04-13T19:01:28.309932Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:01:28.309902+00:00 (14d retention)\n2026-04-13T19:01:34.835096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8845567138521432327, trigger=click)\n2026-04-13T19:02:26.033245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 59 eligible frames\n2026-04-13T19:02:29.410795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 15.1MB → 2.4MB (6.3x), 58 JPEGs deleted\n2026-04-13T19:06:28.306223Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:06:28.306189+00:00 (14d retention)\n2026-04-13T19:07:29.443796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T19:07:32.264873Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 9.3MB → 1.9MB (4.9x), 49 JPEGs deleted\n2026-04-13T19:09:21.780997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2535583028595392832, trigger=click)\n2026-04-13T19:11:28.301542Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:11:28.301502+00:00 (14d retention)\n2026-04-13T19:12:32.301751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-04-13T19:12:35.543171Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 54 frames, 8.4MB → 0.2MB (34.0x), 54 JPEGs deleted\n2026-04-13T19:15:28.279261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643209958340923733, trigger=click)\n2026-04-13T19:16:28.300071Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:16:28.300040+00:00 (14d retention)\n2026-04-13T19:17:35.879347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T19:17:37.771162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.0MB → 0.2MB (21.2x), 32 JPEGs deleted\n2026-04-13T19:21:28.313672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:21:28.313650+00:00 (14d retention)\n2026-04-13T19:21:43.867272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:21:53.316112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:22:37.824162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-13T19:22:39.564867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 4.5MB → 0.2MB (19.7x), 29 JPEGs deleted\n2026-04-13T19:23:58.293564Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:05.926037Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:07.100441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:08.189505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:09.316024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:10.334454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:11.039989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.279934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.934012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:13.905703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:14.688081Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:16.790073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:17.648048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:18.648340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:20.939136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:32.085226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1677564857471996960, trigger=click)\n2026-04-13T19:24:52.669280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5315255766850756707, trigger=click)\n2026-04-13T19:26:28.311385Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:26:28.311371+00:00 (14d retention)\n2026-04-13T19:27:39.600820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T19:27:43.607748Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 10.7MB → 2.0MB (5.3x), 71 JPEGs deleted\n2026-04-13T19:29:29.337437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6191878184103635993, trigger=click)\n2026-04-13T19:30:53.305205Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T19:31:28.308892Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:31:28.308882+00:00 (14d retention)\n2026-04-13T19:32:39.123443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:32:43.640042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-13T19:32:47.533673Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 69 frames, 10.8MB → 0.5MB (22.6x), 69 JPEGs deleted\n2026-04-13T19:32:50.924091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:36:28.306590Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:36:28.306551+00:00 (14d retention)\n2026-04-13T19:37:47.886163Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T19:37:51.291730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:37:52.768785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 13.5MB → 0.5MB (28.8x), 87 JPEGs deleted\n2026-04-13T19:37:57.364851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:38:38.577300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4736856628251450227, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-strt\nzsh: command not found: sp-strt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start \n[1] 21900\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-13T19:39:27.177326Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-13T19:39:29.590345Z WARN sqlx::query: summary=\"-- Partial index on …\" db.statement=\"\\n\\n-- Partial index on frames.elements_ref_frame_id to eliminate the full\\n-- table scan in the retention anchor-frame subquery.\\n--\\n-- The correlated subquery in delete_time_range_batch:\\n-- SELECT DISTINCT f.id FROM frames f\\n-- WHERE f.timestamp BETWEEN ?1 AND ?2\\n-- AND EXISTS (SELECT 1 FROM frames ref\\n-- WHERE ref.elements_ref_frame_id = f.id\\n-- AND ref.timestamp NOT BETWEEN ?1 AND ?2)\\n--\\n-- falls back to a full scan of `frames` on the inner EXISTS without this\\n-- index (elements_ref_frame_id was added in 20260318000000 without one).\\n-- Measured 5m55s per 1-hour retention batch on a 33k-frame DB, making\\n-- retention unusable on any non-trivial backlog.\\n--\\n-- With the index, the inner plan becomes:\\n-- SEARCH ref USING INDEX idx_frames_elements_ref_frame_id (elements_ref_frame_id=?)\\n-- and the same query runs in ~5ms.\\n--\\n-- Partial (WHERE elements_ref_frame_id IS NOT NULL) because only frames\\n-- that reference a dedup anchor are relevant here. Storage cost is\\n-- negligible -- single-digit MB/year for typical capture volume, and it\\n-- is the smallest index on the frames table by a wide margin.\\nCREATE INDEX IF NOT EXISTS idx_frames_elements_ref_frame_id ON frames(elements_ref_frame_id)\\nWHERE\\n elements_ref_frame_id IS NOT NULL;\\n\" rows_affected=0 rows_returned=0 elapsed=1.230052917s\n2026-04-13T19:39:29.593268Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-13T19:39:29.594665Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-13T19:39:29.594680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-13T19:39:29.595089Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-13T19:39:29.595024Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-13T19:39:29.595128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-13T19:39:29.595223Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-13T19:39:29.595562Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-13T19:39:29.595770Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-13T19:39:29.596448Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-13T19:39:29.596584Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-13T19:39:29.596715Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-13T19:39:29.596827Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-13T19:39:29.596844Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-13T19:39:29.598802Z INFO screenpipe: starting UI event capture\n2026-04-13T19:39:29.598404Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-13T19:39:29.603432Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-13T19:39:29.609967Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-13T19:39:29.615106Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-13T19:39:29.630434Z INFO screenpipe_engine::ui_recorder: UI recording session started: faca997c-ce9a-477c-b5d0-e56e509585e9\n2026-04-13T19:39:29.630483Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-13T19:39:29.630562Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-12 16:39:29.630549 UTC to 2026-04-13 16:39:29.630549 UTC)\n2026-04-13T19:39:29.631025Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-13T19:39:29.637981Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-13T19:39:29.643829Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-13T19:39:29.788633Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3943 frame entries, coverage from 2026-04-12 16:39:29.630549 UTC\n2026-04-13T19:39:30.543977Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-13T19:39:30.544012Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-13T19:39:30.544060Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-13T19:39:31.016978Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-13T19:39:31.017036Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-13T19:39:31.017080Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-13T19:39:31.017114Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-13T19:39:32.207273Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-13T19:39:32.673392Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=7912, dur=47ms\n2026-04-13T19:39:32.704069Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-13T19:39:32.872035Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=7913, dur=108ms\n2026-04-13T19:39:34.636509Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-13T19:39:34.637200Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-13T19:39:44.339956Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=5000 elapsed=1.608390416s\n2026-04-13T19:40:29.616115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 17 eligible frames\n2026-04-13T19:40:31.310725Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.5MB → 0.2MB (11.1x), 16 JPEGs deleted\n2026-04-13T19:41:39.668138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:41:40.367247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:42:16.296737Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-96467039929937080, trigger=click)\n2026-04-13T19:42:34.936430Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5664644461248729071, trigger=visual_change)\n2026-04-13T19:44:29.627763Z INFO screenpipe_engine::server: api_usage_5min: 5 requests\n2026-04-13T19:45:04.634490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:45:04.634462+00:00 (14d retention)\n2026-04-13T19:45:31.349267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 20 eligible frames\n2026-04-13T19:45:32.543028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.0MB → 0.3MB (9.9x), 19 JPEGs deleted\n2026-04-13T19:50:02.916584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:02.918035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:04.630322Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:50:04.630300+00:00 (14d retention)\n2026-04-13T19:50:32.575742Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-13T19:50:35.515577Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 6.6MB → 2.0MB (3.3x), 46 JPEGs deleted\n2026-04-13T19:50:36.330072Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.6MB (1.9x), 6 JPEGs deleted\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 24316\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-14T09:23:18.095876Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-14T09:23:19.016665Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-14T09:23:19.018052Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-14T09:23:19.018065Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-14T09:23:19.018310Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-14T09:23:19.018350Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-14T09:23:19.018329Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-14T09:23:19.018781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-14T09:23:19.018887Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-14T09:23:19.018976Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-14T09:23:19.019743Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-14T09:23:19.021386Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-14T09:23:19.021709Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-14T09:23:19.021835Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-14T09:23:19.021852Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-14T09:23:19.025225Z INFO screenpipe: starting UI event capture\n2026-04-14T09:23:19.024042Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-14T09:23:19.034460Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-14T09:23:19.035048Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-14T09:23:19.041739Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-14T09:23:19.057947Z INFO screenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd49\n2026-04-14T09:23:19.058064Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-14T09:23:19.058114Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-13 06:23:19.058103 UTC to 2026-04-14 06:23:19.058103 UTC)\n2026-04-14T09:23:19.062532Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-14T09:23:19.066551Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-14T09:23:19.080775Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-14T09:23:19.697314Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTC\n2026-04-14T09:23:19.985445Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-14T09:23:19.985474Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-14T09:23:19.985515Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-14T09:23:20.492622Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-14T09:23:20.492664Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-14T09:23:20.492694Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-14T09:23:20.492726Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-14T09:23:21.313246Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-14T09:23:22.387611Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-14T09:23:22.954948Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=8037, dur=1082ms\n2026-04-14T09:23:23.488645Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms\n2026-04-14T09:23:24.063719Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-14T09:23:24.063951Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-14T09:24:19.745739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-14T09:24:23.350916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGs deleted\n2026-04-14T09:24:26.531119Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted\n2026-04-14T09:28:19.055456Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:28:54.061635Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)\n2026-04-14T09:29:26.561625Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-14T09:33:54.056707Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)\n2026-04-14T09:34:26.581293Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames\n2026-04-14T09:34:27.123519Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x), 4 JPEGs deleted\n2026-04-14T09:34:28.092531Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.8x), 7 JPEGs deleted\n2026-04-14T09:38:54.029363Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:38:54.029346+00:00 (14d retention)\n2026-04-14T09:39:28.082314Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-14T09:39:29.343941Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.0MB → 0.7MB (6.0x), 18 JPEGs deleted\n2026-04-14T09:39:30.750250Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.8MB (4.5x), 20 JPEGs deleted\n2026-04-14T09:41:13.184908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6982821907865222085, trigger=click)\n2026-04-14T09:41:19.221590Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6812429097673958383, trigger=visual_change)\n2026-04-14T09:42:17.435758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6365427964931292073, trigger=click)\n2026-04-14T09:42:33.656193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4160452185621303946, trigger=click)\n2026-04-14T09:42:46.140088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2304266842869419917, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-14T09:43:54.022784Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:43:54.022742+00:00 (14d retention)\n2026-04-14T09:44:07.036758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:16.412880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:31.467140Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-04-14T09:44:32.220816Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.2MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:33.112790Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.5MB → 0.4MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:49.822061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=visual_change)\n2026-04-14T09:44:58.085483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=click)\n2026-04-14T09:45:11.008075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=visual_change)\n2026-04-14T09:45:27.976077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:28.005455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:33.771220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6619028446781713005, trigger=click)\n2026-04-14T09:46:17.937329Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:20.967541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:39.124248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=visual_change)\n2026-04-14T09:46:48.114315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:46:48.134347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:48:19.010549Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:48:28.225785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:28.241367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:35.474701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2313032521647048085, trigger=click)\n2026-04-14T09:48:44.297355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=529628650036307666, trigger=click)\n2026-04-14T09:48:54.016503Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:48:54.016484+00:00 (14d retention)\n2026-04-14T09:49:33.136435Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 87 eligible frames\n2026-04-14T09:49:35.411222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 8.9MB → 1.6MB (5.4x), 33 JPEGs deleted\n2026-04-14T09:49:39.291290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 10.8MB → 4.1MB (2.6x), 52 JPEGs deleted\n2026-04-14T09:52:10.262616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4590837745933313988, trigger=click)\n2026-04-14T09:52:25.201982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:28.245911Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:37.345773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:40.396144Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:54.098628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:52:54.108786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:53:13.724192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:16.763953Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:19.793338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:25.860403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:28.887448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:31.919424Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:44.021891Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6850664184897375859, trigger=visual_change)\n2026-04-14T09:53:53.090419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:54.010522Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:53:54.010512+00:00 (14d retention)\n2026-04-14T09:53:56.129621Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:59.154578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:54:05.213884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:08.251183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:14.329171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:39.747828Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 186 eligible frames\n2026-04-14T09:54:41.500859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2366998612440519548, trigger=visual_change)\n2026-04-14T09:54:44.836247Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 86 frames, 14.4MB → 3.3MB (4.3x), 86 JPEGs deleted\n2026-04-14T09:54:51.018273Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.3MB → 5.7MB (2.5x), 98 JPEGs deleted\n2026-04-14T09:58:35.439655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7018639353123991036, trigger=click)\n2026-04-14T09:58:53.989016Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:58:53.989006+00:00 (14d retention)\n2026-04-14T09:59:51.618785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 150 eligible frames\n2026-04-14T09:59:57.069345Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 80 frames, 12.2MB → 4.4MB (2.8x), 80 JPEGs deleted\n2026-04-14T10:00:04.665192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.2MB → 5.4MB (2.3x), 68 JPEGs deleted","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.00234375,"top":0.039583333,"width":0.00625,"height":0.011111111},"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.12382813,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.12617187,"top":0.039583333,"width":0.00625,"height":0.011111111},"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.24765626,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.25,"top":0.039583333,"width":0.00625,"height":0.011111111},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.37148437,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.3738281,"top":0.039583333,"width":0.00625,"height":0.011111111},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.4953125,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.49765626,"top":0.039583333,"width":0.00625,"height":0.011111111},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6191406,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.6214844,"top":0.039583333,"width":0.00625,"height":0.011111111},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.74296874,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.7453125,"top":0.039583333,"width":0.00625,"height":0.011111111},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.86679685,"top":0.036805555,"width":0.12382813,"height":0.016666668},"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.8691406,"top":0.039583333,"width":0.00625,"height":0.011111111},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9746094,"top":0.02013889,"width":0.021875,"height":0.011805556},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.4933594,"top":0.020833334,"width":0.012890625,"height":0.011111111},"role_description":"text"}]...
|
-6150758636940404341
|
-8869373171955034755
|
visual_change
|
accessibility
|
NULL
|
clipboard)
2026-04-12T12:56:32.282413Z INFO scree clipboard)
2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames
2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted
2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)
2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)
2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)
2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)
2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)
2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)
2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)
2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)
2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)
2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests
2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)
2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames
2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted
2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests
2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)
2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames
2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted
2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)
2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames
2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted
2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)
2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted
2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)
2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)
2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url ([URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording
2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)
2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording
2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1
2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6
2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording
2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording
2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6
2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1
2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)
2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)
2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)
2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)
2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)
2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)
2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)
2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)
2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)
2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)
2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)
2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)
2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)
2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)
2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)
2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)
2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)
2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)
2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)
2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)
2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)
2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)
2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)
2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)
2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)
2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)
2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)
2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)
2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)
2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)
2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)
2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)
2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)
2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)
2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)
2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)
2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)
2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)
2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)
2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)
2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)
2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)
2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)
2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)
2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)
2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)
2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)
2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames
2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted
2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted
2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)
2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames
2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)
2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted
2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)
2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted
2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)
2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames
2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted
2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)
2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)
2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted
2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted
2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)
2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames
2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted
2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted
2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)
2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames
2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted
2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted
2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)
2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted
2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)
2026-04-13T15:57:06.748688Z WARN sqlx::query: summary="SELECT frames.id as frame_id, …" db.statement="\n\nSELECT\n frames.id as frame_id,\n COALESCE(\n frames.full_text,\n ocr_text.text,\n frames.accessibility_text,\n ''\n ) as ocr_text,\n ocr_text.text_json,\n frames.timestamp,\n frames.name as frame_name,\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\n frames.offset_index,\n frames.app_name,\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\n frames.window_name,\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\n GROUP_CONCAT(tags.name, ',') as tags,\n frames.browser_url,\n frames.focused\nFROM\n frames\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\nWHERE\n 1 = 1\n AND (\n ?2 IS NULL\n OR frames.timestamp >= ?2\n )\n AND (\n ?3 IS NULL\n OR frames.timestamp <= ?3\n )\n AND (\n ?4 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\n )\n AND (\n ?5 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\n )\n AND (\n ?6 IS NULL\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\n )\n AND (\n ?7 IS NULL\n OR frames.machine_id = ?7\n )\n AND (\n ?8 IS NULL\n OR frames.focused = ?8\n )\n AND (\n ?9 IS NULL\n OR frames.name LIKE '%' || ?9 || '%'\n )\nGROUP BY\n frames.id\nORDER BY\n frames.timestamp DESC\nLIMIT\n ?10 OFFSET ?11\n" rows_affected=0 rows_returned=1000 elapsed=1.158041625s
2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted
2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)
2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames
2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted
2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)
2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames
2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted
2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)
2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames
2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted
2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted
2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)
2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted
2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted
2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)
2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames
2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted
2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted
2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)
2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames
2026-04-13T16:30:07.34...
|
NULL
|
|
8692
|
168
|
0
|
2026-04-14T07:00:21.744361+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150021744_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
clipboard)
2026-04-12T12:56:32.282413Z INFO scree clipboard)
2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames
2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted
2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)
2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)
2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)
2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)
2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)
2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)
2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)
2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)
2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)
2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests
2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)
2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames
2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted
2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests
2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)
2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames
2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted
2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)
2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames
2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted
2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)
2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted
2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)
2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)
2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url ([URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording
2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)
2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording
2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1
2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6
2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording
2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording
2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6
2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1
2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)
2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)
2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)
2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)
2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)
2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)
2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)
2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)
2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)
2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)
2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)
2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)
2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)
2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)
2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)
2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)
2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)
2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)
2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)
2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)
2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)
2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)
2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)
2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)
2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)
2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)
2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)
2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)
2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)
2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)
2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)
2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)
2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)
2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)
2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)
2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)
2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)
2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)
2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)
2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)
2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)
2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)
2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)
2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)
2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)
2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)
2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)
2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames
2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted
2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted
2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)
2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames
2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)
2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted
2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)
2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted
2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)
2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames
2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted
2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)
2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)
2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted
2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted
2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)
2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames
2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted
2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted
2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)
2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames
2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted
2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted
2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)
2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted
2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)
2026-04-13T15:57:06.748688Z WARN sqlx::query: summary="SELECT frames.id as frame_id, …" db.statement="\n\nSELECT\n frames.id as frame_id,\n COALESCE(\n frames.full_text,\n ocr_text.text,\n frames.accessibility_text,\n ''\n ) as ocr_text,\n ocr_text.text_json,\n frames.timestamp,\n frames.name as frame_name,\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\n frames.offset_index,\n frames.app_name,\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\n frames.window_name,\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\n GROUP_CONCAT(tags.name, ',') as tags,\n frames.browser_url,\n frames.focused\nFROM\n frames\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\nWHERE\n 1 = 1\n AND (\n ?2 IS NULL\n OR frames.timestamp >= ?2\n )\n AND (\n ?3 IS NULL\n OR frames.timestamp <= ?3\n )\n AND (\n ?4 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\n )\n AND (\n ?5 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\n )\n AND (\n ?6 IS NULL\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\n )\n AND (\n ?7 IS NULL\n OR frames.machine_id = ?7\n )\n AND (\n ?8 IS NULL\n OR frames.focused = ?8\n )\n AND (\n ?9 IS NULL\n OR frames.name LIKE '%' || ?9 || '%'\n )\nGROUP BY\n frames.id\nORDER BY\n frames.timestamp DESC\nLIMIT\n ?10 OFFSET ?11\n" rows_affected=0 rows_returned=1000 elapsed=1.158041625s
2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted
2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)
2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames
2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted
2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)
2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames
2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted
2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)
2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames
2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted
2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted
2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)
2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted
2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted
2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)
2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames
2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted
2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted
2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)
2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames
2026-04-13T16:30:07.34...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"clipboard)\n2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted\n2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)\n2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)\n2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)\n2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)\n2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)\n2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)\n2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)\n2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)\n2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)\n2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests\n2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)\n2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted\n2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)\n2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames\n2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted\n2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)\n2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted\n2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)\n2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted\n2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)\n2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)\n2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:19:54.331647Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:19:54.331585+00:00 (14d retention)\n2026-04-12T14:25:49.460879Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:47:08.896043Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:51:40.566736Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:51:40.566667+00:00 (14d retention)\n2026-04-12T15:04:41.463531Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T15:09:53.670591Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T15:09:53.687234Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T15:09:53.694692Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T15:09:54.069049Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T15:09:54.972151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=click)\n2026-04-12T15:10:00.918510Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4593439385064446773, trigger=visual_change)\n2026-04-12T15:10:03.918707Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T15:11:30.984863Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:11:30.984842+00:00 (14d retention)\n2026-04-12T15:16:30.982686Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:16:30.982661+00:00 (14d retention)\n2026-04-12T15:21:30.980571Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:21:30.980551+00:00 (14d retention)\n2026-04-12T15:22:42.975270Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-12T15:22:45.011395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 3.1MB → 1.1MB (2.8x), 33 JPEGs deleted\n2026-04-12T15:26:30.978141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:26:30.978120+00:00 (14d retention)\n2026-04-12T15:27:45.265922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-12T15:27:49.938865Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 83 frames, 6.3MB → 0.1MB (58.2x), 83 JPEGs deleted\n2026-04-12T15:31:30.953991Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:31:30.953971+00:00 (14d retention)\n2026-04-12T15:32:50.166006Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:32:55.707883Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 7.5MB → 0.1MB (70.1x), 99 JPEGs deleted\n2026-04-12T15:32:56.071976Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (3.0x), 3 JPEGs deleted\n2026-04-12T15:36:30.948421Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:36:30.948401+00:00 (14d retention)\n2026-04-12T15:37:56.337459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:38:01.842312Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.0x), 98 JPEGs deleted\n2026-04-12T15:38:02.207918Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (2.8x), 3 JPEGs deleted\n2026-04-12T15:41:30.945296Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:41:30.945274+00:00 (14d retention)\n2026-04-12T15:43:02.496758Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:43:08.031970Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (68.3x), 98 JPEGs deleted\n2026-04-12T15:43:09.583075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.5x), 26 JPEGs deleted\n2026-04-12T15:46:30.941625Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:46:30.941607+00:00 (14d retention)\n2026-04-12T15:48:09.854085Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 127 eligible frames\n2026-04-12T15:48:15.376242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.2x), 98 JPEGs deleted\n2026-04-12T15:48:16.986205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.0MB → 0.1MB (22.4x), 27 JPEGs deleted\n2026-04-12T15:51:30.931020Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:51:30.931+00:00 (14d retention)\n2026-04-12T15:53:17.140652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:53:22.544303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.5x), 98 JPEGs deleted\n2026-04-12T15:53:24.051282Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.4x), 26 JPEGs deleted\n2026-04-12T15:56:30.903513Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:56:30.903491+00:00 (14d retention)\n2026-04-12T15:58:24.061857Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 107 eligible frames\n2026-04-12T15:58:29.565651Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.8x), 98 JPEGs deleted\n2026-04-12T15:58:30.163222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 0.5MB → 0.1MB (6.1x), 7 JPEGs deleted\n2026-04-12T16:01:30.898705Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:01:30.898688+00:00 (14d retention)\n2026-04-12T16:03:30.176572Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-12T16:03:35.702407Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (66.5x), 98 JPEGs deleted\n2026-04-12T16:03:37.208567Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 1.9MB → 0.1MB (19.5x), 25 JPEGs deleted\n2026-04-12T16:06:30.893145Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:06:30.893123+00:00 (14d retention)\n2026-04-12T16:08:37.224128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 137 eligible frames\n2026-04-12T16:08:42.754922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (55.1x), 98 JPEGs deleted\n2026-04-12T16:08:44.902888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 2.9MB → 0.1MB (27.8x), 37 JPEGs deleted\n2026-04-12T16:11:30.884492Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:11:30.884475+00:00 (14d retention)\n2026-04-12T16:13:44.914274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 102 eligible frames\n2026-04-12T16:13:50.332990Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (60.2x), 98 JPEGs deleted\n2026-04-12T16:13:50.582963Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 2 frames, 0.2MB → 0.1MB (1.9x), 2 JPEGs deleted\n2026-04-12T16:16:30.874710Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:16:30.874654+00:00 (14d retention)\n2026-04-12T16:18:50.598274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-04-12T16:18:55.602978Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 7.0MB → 0.1MB (56.9x), 90 JPEGs deleted\n2026-04-12T16:21:30.868887Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:21:30.868843+00:00 (14d retention)\n2026-04-12T16:23:55.619078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\n2026-04-12T16:23:57.827626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 2.9MB → 0.1MB (28.1x), 38 JPEGs deleted\n2026-04-12T16:25:51.808414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T16:25:55.859250Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-12T16:26:22.022550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=335681983743287612, trigger=visual_change)\n2026-04-12T16:26:30.862865Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:26:30.862859+00:00 (14d retention)\n2026-04-12T16:26:49.195853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=visual_change)\n2026-04-12T16:26:50.724575Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=clipboard)\n2026-04-12T16:26:58.277345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:26:59.647372Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=clipboard)\n2026-04-12T16:27:58.948426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:28:57.842202Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-12T16:28:59.471378Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.1MB → 0.1MB (19.7x), 27 JPEGs deleted\n2026-04-12T16:30:07.202386Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3216013508830929208, trigger=click)\n2026-04-12T16:30:55.852584Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T16:31:30.887381Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:31:30.887363+00:00 (14d retention)\n2026-04-12T16:31:49.004783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:31:49.729537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=click)\n2026-04-12T16:31:55.091180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:32:38.955241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:41.068172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=clipboard)\n2026-04-12T16:32:42.939568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:44.448998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=visual_change)\n2026-04-12T16:32:46.133335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=click)\n2026-04-12T16:32:47.467019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:32:47.909378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=clipboard)\n2026-04-12T16:33:06.479217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:33:09.545186Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5503780454464997020, trigger=visual_change)\n2026-04-12T16:33:15.550145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7389604070772900291, trigger=visual_change)\n2026-04-12T16:33:59.523675Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 12 eligible frames\n2026-04-12T16:34:00.275262Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 0.9MB → 0.1MB (9.2x), 11 JPEGs deleted\n2026-04-12T16:36:30.893415Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:36:30.893405+00:00 (14d retention)\n2026-04-12T16:37:02.339834Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T16:42:28.176895Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 54 eligible frames\n2026-04-12T16:42:31.234893Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 4.9MB → 1.5MB (3.4x), 53 JPEGs deleted\n2026-04-12T16:46:30.256919Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:46:30.256841+00:00 (14d retention)\n2026-04-12T16:58:23.782435Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T16:59:58.366015Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames\n2026-04-12T16:59:59.856243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 2.8MB → 0.5MB (5.8x), 24 JPEGs deleted\n2026-04-12T18:37:05.993577Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T18:39:53.607673Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T18:46:44.262699Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T15:46:44.262630+00:00 (14d retention)\n2026-04-12T18:55:18.717641Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T19:09:18.536900Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T20:13:29.785331Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T17:13:29.785272+00:00 (14d retention)\n2026-04-12T20:13:47.397970Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording\n2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)\n2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording\n2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6\n2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording\n2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording\n2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6\n2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1\n2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)\n2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)\n2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)\n2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)\n2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)\n2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)\n2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)\n2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)\n2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)\n2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)\n2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)\n2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)\n2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)\n2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)\n2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)\n2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)\n2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)\n2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)\n2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)\n2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)\n2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)\n2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)\n2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)\n2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)\n2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)\n2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)\n2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)\n2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)\n2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)\n2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)\n2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)\n2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)\n2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)\n2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)\n2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)\n2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)\n2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)\n2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)\n2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)\n2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)\n2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)\n2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)\n2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)\n2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)\n2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)\n2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)\n2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)\n2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames\n2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted\n2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted\n2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)\n2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames\n2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)\n2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted\n2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)\n2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted\n2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)\n2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames\n2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted\n2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)\n2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)\n2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted\n2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted\n2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)\n2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames\n2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted\n2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted\n2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)\n2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames\n2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted\n2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted\n2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)\n2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted\n2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)\n2026-04-13T15:57:06.748688Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=1000 elapsed=1.158041625s\n2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted\n2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)\n2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames\n2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted\n2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)\n2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted\n2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)\n2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames\n2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted\n2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted\n2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)\n2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted\n2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted\n2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)\n2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames\n2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted\n2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted\n2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)\n2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:30:07.345631Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.0x), 98 JPEGs deleted\n2026-04-13T16:30:09.401035Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 4.2MB → 0.2MB (17.5x), 35 JPEGs deleted\n2026-04-13T16:30:58.877763Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:30:58.877747+00:00 (14d retention)\n2026-04-13T16:35:09.543901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 123 eligible frames\n2026-04-13T16:35:15.118342Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (29.4x), 98 JPEGs deleted\n2026-04-13T16:35:16.544264Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.8MB → 0.2MB (13.7x), 23 JPEGs deleted\n2026-04-13T16:35:58.877807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:35:58.877797+00:00 (14d retention)\n2026-04-13T16:38:16.074486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9190773859099204307, trigger=click)\n2026-04-13T16:39:15.630281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=visual_change)\n2026-04-13T16:39:18.164527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T16:39:39.417651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:39:46.483591Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T16:40:16.572113Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 142 eligible frames\n2026-04-13T16:40:21.964524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.3x), 98 JPEGs deleted\n2026-04-13T16:40:23.872191Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T16:40:24.338496Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 5.1MB → 0.3MB (19.6x), 42 JPEGs deleted\n2026-04-13T16:40:58.876854Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:40:58.876845+00:00 (14d retention)\n2026-04-13T16:41:10.838114Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=visual_change)\n2026-04-13T16:42:13.892340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5199349294477942535, trigger=click)\n2026-04-13T16:42:44.819070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:45:24.413681Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 163 eligible frames\n2026-04-13T16:45:29.941955Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.1x), 98 JPEGs deleted\n2026-04-13T16:45:33.507323Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 7.6MB → 0.3MB (24.3x), 63 JPEGs deleted\n2026-04-13T16:45:58.885928Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:45:58.885879+00:00 (14d retention)\n2026-04-13T16:50:33.536731Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-13T16:50:39.528450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 12.0MB → 2.2MB (5.4x), 98 JPEGs deleted\n2026-04-13T16:50:41.016936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.5MB → 1.6MB (2.2x), 17 JPEGs deleted\n2026-04-13T16:50:58.885615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:50:58.885607+00:00 (14d retention)\n2026-04-13T16:55:41.041166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:55:46.654516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 17.3MB → 4.5MB (3.8x), 98 JPEGs deleted\n2026-04-13T16:55:48.802425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.0MB → 0.9MB (7.8x), 35 JPEGs deleted\n2026-04-13T16:55:58.885247Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:55:58.885238+00:00 (14d retention)\n2026-04-13T17:00:48.921394Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-13T17:00:54.499682Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 2.0MB (9.8x), 98 JPEGs deleted\n2026-04-13T17:00:56.069295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 0.7MB (7.2x), 25 JPEGs deleted\n2026-04-13T17:00:58.884750Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:00:58.884741+00:00 (14d retention)\n2026-04-13T17:04:17.476028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:20.514684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:23.559568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:29.620877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:44.761227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:21.254931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:24.295008Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:27.336461Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:30.386176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:42.486968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:51.582326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:54.624396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:56.063515Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 172 eligible frames\n2026-04-13T17:05:58.849231Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:05:58.849225+00:00 (14d retention)\n2026-04-13T17:06:01.555232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.4MB (13.6x), 98 JPEGs deleted\n2026-04-13T17:06:05.597067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 72 frames, 14.3MB → 1.1MB (12.9x), 72 JPEGs deleted\n2026-04-13T17:06:09.702568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:06:58.426892Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:07:01.047902Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:07:12.921022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:08:32.658411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=visual_change)\n2026-04-13T17:08:33.461053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:34.888152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:44.751908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6880399320930358557, trigger=visual_change)\n2026-04-13T17:08:47.811335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5551774685991471183, trigger=visual_change)\n2026-04-13T17:08:59.877508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3750487923867570316, trigger=visual_change)\n2026-04-13T17:09:05.917138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5193827678277969729, trigger=visual_change)\n2026-04-13T17:09:08.963248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1573230130233012243, trigger=visual_change)\n2026-04-13T17:09:27.538887Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=visual_change)\n2026-04-13T17:10:15.148423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2198924557410214150, trigger=click)\n2026-04-13T17:10:19.711447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8529595713999975857, trigger=visual_change)\n2026-04-13T17:10:23.842094Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:10:58.846075Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:10:58.846061+00:00 (14d retention)\n2026-04-13T17:11:05.614778Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 133 eligible frames\n2026-04-13T17:11:11.080267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.6MB (12.4x), 98 JPEGs deleted\n2026-04-13T17:11:13.049885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.6MB → 0.8MB (8.5x), 33 JPEGs deleted\n2026-04-13T17:14:28.187399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=click)\n2026-04-13T17:15:58.842867Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:15:58.842852+00:00 (14d retention)\n2026-04-13T17:16:00.560201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3089258739618396828, trigger=click)\n2026-04-13T17:16:05.720267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-756028078299947006, trigger=click)\n2026-04-13T17:16:13.081624Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-13T17:16:17.891451Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 82 frames, 16.3MB → 1.7MB (9.4x), 82 JPEGs deleted\n2026-04-13T17:17:45.943910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7911837907515514222, trigger=click)\n2026-04-13T17:18:44.492158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5928663278776159308, trigger=visual_change)\n2026-04-13T17:19:18.239507Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8963743573879133782, trigger=visual_change)\n2026-04-13T17:20:52.622485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=visual_change)\n2026-04-13T17:20:52.865628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:53.794741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:55.173220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:56.419536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:58.841572Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:20:58.841554+00:00 (14d retention)\n2026-04-13T17:21:17.914363Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T17:21:23.033357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 19.3MB → 6.9MB (2.8x), 87 JPEGs deleted\n2026-04-13T17:22:17.281652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8506419545576175835, trigger=visual_change)\n2026-04-13T17:22:24.174259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8506170850142559396, trigger=click)\n2026-04-13T17:24:29.375130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1367698138829933492, trigger=click)\n2026-04-13T17:25:30.618046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5264066362649694131, trigger=clipboard)\n2026-04-13T17:25:58.861117Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:25:58.861102+00:00 (14d retention)\n2026-04-13T17:26:07.783284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3389874276161121002, trigger=clipboard)\n2026-04-13T17:26:23.079232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 43 eligible frames\n2026-04-13T17:26:25.533960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 8.5MB → 1.4MB (5.9x), 42 JPEGs deleted\n2026-04-13T17:26:26.405342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4749965863260205632, trigger=click)\n2026-04-13T17:27:03.146806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T17:30:23.856612Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:30:58.861025Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:30:58.861012+00:00 (14d retention)\n2026-04-13T17:31:25.542075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:31:29.155449Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 13.1MB → 1.9MB (6.9x), 65 JPEGs deleted\n2026-04-13T17:31:53.487787Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8861777922848222919, trigger=click)\n2026-04-13T17:35:26.901256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:29.203266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:31.520280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=clipboard)\n2026-04-13T17:35:33.300160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T17:35:45.306897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6087902347824858697, trigger=clipboard)\n2026-04-13T17:35:58.859672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:35:58.859656+00:00 (14d retention)\n2026-04-13T17:36:29.179810Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T17:36:32.011609Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 10.8MB → 1.7MB (6.2x), 49 JPEGs deleted\n2026-04-13T17:40:58.858490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:40:58.858471+00:00 (14d retention)\n2026-04-13T17:41:32.043222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T17:41:36.069242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 16.1MB → 1.1MB (14.5x), 71 JPEGs deleted\n2026-04-13T17:42:15.596334Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4235966675435269325, trigger=click)\n2026-04-13T17:45:58.869276Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:45:58.869266+00:00 (14d retention)\n2026-04-13T17:46:36.092867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:46:39.758714Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 15.1MB → 1.0MB (15.3x), 65 JPEGs deleted\n2026-04-13T17:49:46.579982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8606465934501073324, trigger=click)\n2026-04-13T17:50:58.869493Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:50:58.869486+00:00 (14d retention)\n2026-04-13T17:51:39.783256Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 16 eligible frames\n2026-04-13T17:51:40.758071Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 3.5MB → 0.4MB (9.1x), 15 JPEGs deleted\n2026-04-13T17:52:09.695481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:52:18.104878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:20.446688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:22.950263Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:55:58.869201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:55:58.869180+00:00 (14d retention)\n2026-04-13T17:56:40.787956Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-13T17:56:42.144760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 5.1MB → 0.4MB (13.2x), 22 JPEGs deleted\n2026-04-13T17:57:54.358454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:57:58.419369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:12.778123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:16.712796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:20.448642Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:36.397921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T17:58:39.343061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T18:00:55.845071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-439578195712127451, trigger=click)\n2026-04-13T18:00:58.868418Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:00:58.868403+00:00 (14d retention)\n2026-04-13T18:01:42.187214Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-13T18:01:44.040254Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 7.2MB → 0.5MB (14.4x), 31 JPEGs deleted\n2026-04-13T18:03:22.816287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-481145244361585685, trigger=click)\n2026-04-13T18:05:58.873688Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:05:58.873678+00:00 (14d retention)\n2026-04-13T18:06:44.077710Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-13T18:06:46.456870Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 9.6MB → 0.4MB (24.2x), 41 JPEGs deleted\n2026-04-13T18:10:58.873801Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:10:58.873743+00:00 (14d retention)\n2026-04-13T18:11:46.492855Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-04-13T18:11:48.658067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 8.6MB → 0.8MB (11.3x), 37 JPEGs deleted\n2026-04-13T18:15:58.875133Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:15:58.875119+00:00 (14d retention)\n2026-04-13T18:16:48.694011Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 27 eligible frames\n2026-04-13T18:16:50.273243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 6.1MB → 0.4MB (15.6x), 26 JPEGs deleted\n2026-04-13T18:18:31.734321Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T18:23:08.990753Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:23:08.990735+00:00 (14d retention)\n2026-04-13T18:24:18.871885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:24:20.038791Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.2MB → 0.4MB (10.8x), 18 JPEGs deleted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T18:35:13.146239Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T18:35:13.149068Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T18:35:13.170962Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T18:35:13.680481Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T18:35:27.620608Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-13T18:36:17.152264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1184372696878099077, trigger=click)\n2026-04-13T18:36:28.363701Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:36:28.363689+00:00 (14d retention)\n2026-04-13T18:37:21.142467Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 10 eligible frames\n2026-04-13T18:37:21.905994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 2.1MB → 0.4MB (5.5x), 9 JPEGs deleted\n2026-04-13T18:37:36.639362Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6976444594554398738, trigger=click)\n2026-04-13T18:39:53.327516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:41:28.358989Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:41:28.358952+00:00 (14d retention)\n2026-04-13T18:42:21.940046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-13T18:46:28.358214Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:46:28.358197+00:00 (14d retention)\n2026-04-13T18:47:21.955151Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 6 eligible frames\n2026-04-13T18:47:22.689470Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.5MB (2.3x), 6 JPEGs deleted\n2026-04-13T18:48:30.117101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8612826691778232576, trigger=click)\n2026-04-13T18:51:28.358332Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:51:28.358272+00:00 (14d retention)\n2026-04-13T18:52:22.720460Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T18:52:24.625362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.5MB → 0.5MB (14.3x), 32 JPEGs deleted\n2026-04-13T18:53:26.194571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2525325065609490636, trigger=click)\n2026-04-13T18:54:48.394617Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:56:28.358108Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:56:28.358077+00:00 (14d retention)\n2026-04-13T18:57:24.630003Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:57:26.008482Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.3MB → 1.1MB (3.8x), 18 JPEGs deleted\n2026-04-13T19:01:28.309932Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:01:28.309902+00:00 (14d retention)\n2026-04-13T19:01:34.835096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8845567138521432327, trigger=click)\n2026-04-13T19:02:26.033245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 59 eligible frames\n2026-04-13T19:02:29.410795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 15.1MB → 2.4MB (6.3x), 58 JPEGs deleted\n2026-04-13T19:06:28.306223Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:06:28.306189+00:00 (14d retention)\n2026-04-13T19:07:29.443796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T19:07:32.264873Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 9.3MB → 1.9MB (4.9x), 49 JPEGs deleted\n2026-04-13T19:09:21.780997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2535583028595392832, trigger=click)\n2026-04-13T19:11:28.301542Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:11:28.301502+00:00 (14d retention)\n2026-04-13T19:12:32.301751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-04-13T19:12:35.543171Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 54 frames, 8.4MB → 0.2MB (34.0x), 54 JPEGs deleted\n2026-04-13T19:15:28.279261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643209958340923733, trigger=click)\n2026-04-13T19:16:28.300071Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:16:28.300040+00:00 (14d retention)\n2026-04-13T19:17:35.879347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T19:17:37.771162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.0MB → 0.2MB (21.2x), 32 JPEGs deleted\n2026-04-13T19:21:28.313672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:21:28.313650+00:00 (14d retention)\n2026-04-13T19:21:43.867272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:21:53.316112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:22:37.824162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-13T19:22:39.564867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 4.5MB → 0.2MB (19.7x), 29 JPEGs deleted\n2026-04-13T19:23:58.293564Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:05.926037Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:07.100441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:08.189505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:09.316024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:10.334454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:11.039989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.279934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.934012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:13.905703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:14.688081Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:16.790073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:17.648048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:18.648340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:20.939136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:32.085226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1677564857471996960, trigger=click)\n2026-04-13T19:24:52.669280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5315255766850756707, trigger=click)\n2026-04-13T19:26:28.311385Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:26:28.311371+00:00 (14d retention)\n2026-04-13T19:27:39.600820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T19:27:43.607748Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 10.7MB → 2.0MB (5.3x), 71 JPEGs deleted\n2026-04-13T19:29:29.337437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6191878184103635993, trigger=click)\n2026-04-13T19:30:53.305205Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T19:31:28.308892Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:31:28.308882+00:00 (14d retention)\n2026-04-13T19:32:39.123443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:32:43.640042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-13T19:32:47.533673Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 69 frames, 10.8MB → 0.5MB (22.6x), 69 JPEGs deleted\n2026-04-13T19:32:50.924091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:36:28.306590Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:36:28.306551+00:00 (14d retention)\n2026-04-13T19:37:47.886163Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T19:37:51.291730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:37:52.768785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 13.5MB → 0.5MB (28.8x), 87 JPEGs deleted\n2026-04-13T19:37:57.364851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:38:38.577300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4736856628251450227, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-strt\nzsh: command not found: sp-strt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start \n[1] 21900\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-13T19:39:27.177326Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-13T19:39:29.590345Z WARN sqlx::query: summary=\"-- Partial index on …\" db.statement=\"\\n\\n-- Partial index on frames.elements_ref_frame_id to eliminate the full\\n-- table scan in the retention anchor-frame subquery.\\n--\\n-- The correlated subquery in delete_time_range_batch:\\n-- SELECT DISTINCT f.id FROM frames f\\n-- WHERE f.timestamp BETWEEN ?1 AND ?2\\n-- AND EXISTS (SELECT 1 FROM frames ref\\n-- WHERE ref.elements_ref_frame_id = f.id\\n-- AND ref.timestamp NOT BETWEEN ?1 AND ?2)\\n--\\n-- falls back to a full scan of `frames` on the inner EXISTS without this\\n-- index (elements_ref_frame_id was added in 20260318000000 without one).\\n-- Measured 5m55s per 1-hour retention batch on a 33k-frame DB, making\\n-- retention unusable on any non-trivial backlog.\\n--\\n-- With the index, the inner plan becomes:\\n-- SEARCH ref USING INDEX idx_frames_elements_ref_frame_id (elements_ref_frame_id=?)\\n-- and the same query runs in ~5ms.\\n--\\n-- Partial (WHERE elements_ref_frame_id IS NOT NULL) because only frames\\n-- that reference a dedup anchor are relevant here. Storage cost is\\n-- negligible -- single-digit MB/year for typical capture volume, and it\\n-- is the smallest index on the frames table by a wide margin.\\nCREATE INDEX IF NOT EXISTS idx_frames_elements_ref_frame_id ON frames(elements_ref_frame_id)\\nWHERE\\n elements_ref_frame_id IS NOT NULL;\\n\" rows_affected=0 rows_returned=0 elapsed=1.230052917s\n2026-04-13T19:39:29.593268Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-13T19:39:29.594665Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-13T19:39:29.594680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-13T19:39:29.595089Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-13T19:39:29.595024Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-13T19:39:29.595128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-13T19:39:29.595223Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-13T19:39:29.595562Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-13T19:39:29.595770Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-13T19:39:29.596448Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-13T19:39:29.596584Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-13T19:39:29.596715Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-13T19:39:29.596827Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-13T19:39:29.596844Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-13T19:39:29.598802Z INFO screenpipe: starting UI event capture\n2026-04-13T19:39:29.598404Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-13T19:39:29.603432Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-13T19:39:29.609967Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-13T19:39:29.615106Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-13T19:39:29.630434Z INFO screenpipe_engine::ui_recorder: UI recording session started: faca997c-ce9a-477c-b5d0-e56e509585e9\n2026-04-13T19:39:29.630483Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-13T19:39:29.630562Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-12 16:39:29.630549 UTC to 2026-04-13 16:39:29.630549 UTC)\n2026-04-13T19:39:29.631025Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-13T19:39:29.637981Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-13T19:39:29.643829Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-13T19:39:29.788633Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3943 frame entries, coverage from 2026-04-12 16:39:29.630549 UTC\n2026-04-13T19:39:30.543977Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-13T19:39:30.544012Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-13T19:39:30.544060Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-13T19:39:31.016978Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-13T19:39:31.017036Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-13T19:39:31.017080Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-13T19:39:31.017114Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-13T19:39:32.207273Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-13T19:39:32.673392Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=7912, dur=47ms\n2026-04-13T19:39:32.704069Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-13T19:39:32.872035Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=7913, dur=108ms\n2026-04-13T19:39:34.636509Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-13T19:39:34.637200Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-13T19:39:44.339956Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=5000 elapsed=1.608390416s\n2026-04-13T19:40:29.616115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 17 eligible frames\n2026-04-13T19:40:31.310725Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.5MB → 0.2MB (11.1x), 16 JPEGs deleted\n2026-04-13T19:41:39.668138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:41:40.367247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:42:16.296737Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-96467039929937080, trigger=click)\n2026-04-13T19:42:34.936430Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5664644461248729071, trigger=visual_change)\n2026-04-13T19:44:29.627763Z INFO screenpipe_engine::server: api_usage_5min: 5 requests\n2026-04-13T19:45:04.634490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:45:04.634462+00:00 (14d retention)\n2026-04-13T19:45:31.349267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 20 eligible frames\n2026-04-13T19:45:32.543028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.0MB → 0.3MB (9.9x), 19 JPEGs deleted\n2026-04-13T19:50:02.916584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:02.918035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:04.630322Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:50:04.630300+00:00 (14d retention)\n2026-04-13T19:50:32.575742Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-13T19:50:35.515577Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 6.6MB → 2.0MB (3.3x), 46 JPEGs deleted\n2026-04-13T19:50:36.330072Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.6MB (1.9x), 6 JPEGs deleted\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 24316\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-14T09:23:18.095876Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-14T09:23:19.016665Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-14T09:23:19.018052Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-14T09:23:19.018065Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-14T09:23:19.018310Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-14T09:23:19.018350Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-14T09:23:19.018329Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-14T09:23:19.018781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-14T09:23:19.018887Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-14T09:23:19.018976Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-14T09:23:19.019743Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-14T09:23:19.021386Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-14T09:23:19.021709Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-14T09:23:19.021835Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-14T09:23:19.021852Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-14T09:23:19.025225Z INFO screenpipe: starting UI event capture\n2026-04-14T09:23:19.024042Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-14T09:23:19.034460Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-14T09:23:19.035048Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-14T09:23:19.041739Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-14T09:23:19.057947Z INFO screenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd49\n2026-04-14T09:23:19.058064Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-14T09:23:19.058114Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-13 06:23:19.058103 UTC to 2026-04-14 06:23:19.058103 UTC)\n2026-04-14T09:23:19.062532Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-14T09:23:19.066551Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-14T09:23:19.080775Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-14T09:23:19.697314Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTC\n2026-04-14T09:23:19.985445Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-14T09:23:19.985474Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-14T09:23:19.985515Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-14T09:23:20.492622Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-14T09:23:20.492664Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-14T09:23:20.492694Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-14T09:23:20.492726Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-14T09:23:21.313246Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-14T09:23:22.387611Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-14T09:23:22.954948Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=8037, dur=1082ms\n2026-04-14T09:23:23.488645Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms\n2026-04-14T09:23:24.063719Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-14T09:23:24.063951Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-14T09:24:19.745739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-14T09:24:23.350916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGs deleted\n2026-04-14T09:24:26.531119Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted\n2026-04-14T09:28:19.055456Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:28:54.061635Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)\n2026-04-14T09:29:26.561625Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-14T09:33:54.056707Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)\n2026-04-14T09:34:26.581293Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames\n2026-04-14T09:34:27.123519Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x), 4 JPEGs deleted\n2026-04-14T09:34:28.092531Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.8x), 7 JPEGs deleted\n2026-04-14T09:38:54.029363Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:38:54.029346+00:00 (14d retention)\n2026-04-14T09:39:28.082314Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-14T09:39:29.343941Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.0MB → 0.7MB (6.0x), 18 JPEGs deleted\n2026-04-14T09:39:30.750250Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.8MB (4.5x), 20 JPEGs deleted\n2026-04-14T09:41:13.184908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6982821907865222085, trigger=click)\n2026-04-14T09:41:19.221590Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6812429097673958383, trigger=visual_change)\n2026-04-14T09:42:17.435758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6365427964931292073, trigger=click)\n2026-04-14T09:42:33.656193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4160452185621303946, trigger=click)\n2026-04-14T09:42:46.140088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2304266842869419917, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-14T09:43:54.022784Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:43:54.022742+00:00 (14d retention)\n2026-04-14T09:44:07.036758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:16.412880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:31.467140Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-04-14T09:44:32.220816Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.2MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:33.112790Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.5MB → 0.4MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:49.822061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=visual_change)\n2026-04-14T09:44:58.085483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=click)\n2026-04-14T09:45:11.008075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=visual_change)\n2026-04-14T09:45:27.976077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:28.005455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:33.771220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6619028446781713005, trigger=click)\n2026-04-14T09:46:17.937329Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:20.967541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:39.124248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=visual_change)\n2026-04-14T09:46:48.114315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:46:48.134347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:48:19.010549Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:48:28.225785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:28.241367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:35.474701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2313032521647048085, trigger=click)\n2026-04-14T09:48:44.297355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=529628650036307666, trigger=click)\n2026-04-14T09:48:54.016503Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:48:54.016484+00:00 (14d retention)\n2026-04-14T09:49:33.136435Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 87 eligible frames\n2026-04-14T09:49:35.411222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 8.9MB → 1.6MB (5.4x), 33 JPEGs deleted\n2026-04-14T09:49:39.291290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 10.8MB → 4.1MB (2.6x), 52 JPEGs deleted\n2026-04-14T09:52:10.262616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4590837745933313988, trigger=click)\n2026-04-14T09:52:25.201982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:28.245911Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:37.345773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:40.396144Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:54.098628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:52:54.108786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:53:13.724192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:16.763953Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:19.793338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:25.860403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:28.887448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:31.919424Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:44.021891Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6850664184897375859, trigger=visual_change)\n2026-04-14T09:53:53.090419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:54.010522Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:53:54.010512+00:00 (14d retention)\n2026-04-14T09:53:56.129621Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:59.154578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:54:05.213884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:08.251183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:14.329171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:39.747828Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 186 eligible frames\n2026-04-14T09:54:41.500859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2366998612440519548, trigger=visual_change)\n2026-04-14T09:54:44.836247Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 86 frames, 14.4MB → 3.3MB (4.3x), 86 JPEGs deleted\n2026-04-14T09:54:51.018273Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.3MB → 5.7MB (2.5x), 98 JPEGs deleted\n2026-04-14T09:58:35.439655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7018639353123991036, trigger=click)\n2026-04-14T09:58:53.989016Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:58:53.989006+00:00 (14d retention)\n2026-04-14T09:59:51.618785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 150 eligible frames\n2026-04-14T09:59:57.069345Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 80 frames, 12.2MB → 4.4MB (2.8x), 80 JPEGs deleted\n2026-04-14T10:00:04.665192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.2MB → 5.4MB (2.3x), 68 JPEGs deleted","depth":4,"value":"clipboard)\n2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted\n2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)\n2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)\n2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)\n2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)\n2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)\n2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)\n2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)\n2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)\n2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)\n2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)\n2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)\n2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)\n2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)\n2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests\n2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)\n2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted\n2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)\n2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames\n2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted\n2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)\n2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted\n2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)\n2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted\n2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)\n2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)\n2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:19:54.331647Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:19:54.331585+00:00 (14d retention)\n2026-04-12T14:25:49.460879Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:47:08.896043Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T14:51:40.566736Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:51:40.566667+00:00 (14d retention)\n2026-04-12T15:04:41.463531Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T15:09:53.670591Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T15:09:53.687234Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T15:09:53.694692Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T15:09:54.069049Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T15:09:54.972151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=click)\n2026-04-12T15:10:00.918510Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4593439385064446773, trigger=visual_change)\n2026-04-12T15:10:03.918707Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T15:11:30.984863Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:11:30.984842+00:00 (14d retention)\n2026-04-12T15:16:30.982686Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:16:30.982661+00:00 (14d retention)\n2026-04-12T15:21:30.980571Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:21:30.980551+00:00 (14d retention)\n2026-04-12T15:22:42.975270Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-12T15:22:45.011395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 3.1MB → 1.1MB (2.8x), 33 JPEGs deleted\n2026-04-12T15:26:30.978141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:26:30.978120+00:00 (14d retention)\n2026-04-12T15:27:45.265922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-12T15:27:49.938865Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 83 frames, 6.3MB → 0.1MB (58.2x), 83 JPEGs deleted\n2026-04-12T15:31:30.953991Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:31:30.953971+00:00 (14d retention)\n2026-04-12T15:32:50.166006Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:32:55.707883Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 7.5MB → 0.1MB (70.1x), 99 JPEGs deleted\n2026-04-12T15:32:56.071976Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (3.0x), 3 JPEGs deleted\n2026-04-12T15:36:30.948421Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:36:30.948401+00:00 (14d retention)\n2026-04-12T15:37:56.337459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-04-12T15:38:01.842312Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.0x), 98 JPEGs deleted\n2026-04-12T15:38:02.207918Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.2MB → 0.1MB (2.8x), 3 JPEGs deleted\n2026-04-12T15:41:30.945296Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:41:30.945274+00:00 (14d retention)\n2026-04-12T15:43:02.496758Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:43:08.031970Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (68.3x), 98 JPEGs deleted\n2026-04-12T15:43:09.583075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.5x), 26 JPEGs deleted\n2026-04-12T15:46:30.941625Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:46:30.941607+00:00 (14d retention)\n2026-04-12T15:48:09.854085Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 127 eligible frames\n2026-04-12T15:48:15.376242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.2x), 98 JPEGs deleted\n2026-04-12T15:48:16.986205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.0MB → 0.1MB (22.4x), 27 JPEGs deleted\n2026-04-12T15:51:30.931020Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:51:30.931+00:00 (14d retention)\n2026-04-12T15:53:17.140652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 126 eligible frames\n2026-04-12T15:53:22.544303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.5x), 98 JPEGs deleted\n2026-04-12T15:53:24.051282Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 2.0MB → 0.1MB (21.4x), 26 JPEGs deleted\n2026-04-12T15:56:30.903513Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T12:56:30.903491+00:00 (14d retention)\n2026-04-12T15:58:24.061857Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 107 eligible frames\n2026-04-12T15:58:29.565651Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (67.8x), 98 JPEGs deleted\n2026-04-12T15:58:30.163222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 0.5MB → 0.1MB (6.1x), 7 JPEGs deleted\n2026-04-12T16:01:30.898705Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:01:30.898688+00:00 (14d retention)\n2026-04-12T16:03:30.176572Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-12T16:03:35.702407Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.4MB → 0.1MB (66.5x), 98 JPEGs deleted\n2026-04-12T16:03:37.208567Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 1.9MB → 0.1MB (19.5x), 25 JPEGs deleted\n2026-04-12T16:06:30.893145Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:06:30.893123+00:00 (14d retention)\n2026-04-12T16:08:37.224128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 137 eligible frames\n2026-04-12T16:08:42.754922Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (55.1x), 98 JPEGs deleted\n2026-04-12T16:08:44.902888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 2.9MB → 0.1MB (27.8x), 37 JPEGs deleted\n2026-04-12T16:11:30.884492Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:11:30.884475+00:00 (14d retention)\n2026-04-12T16:13:44.914274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 102 eligible frames\n2026-04-12T16:13:50.332990Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 7.6MB → 0.1MB (60.2x), 98 JPEGs deleted\n2026-04-12T16:13:50.582963Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 2 frames, 0.2MB → 0.1MB (1.9x), 2 JPEGs deleted\n2026-04-12T16:16:30.874710Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:16:30.874654+00:00 (14d retention)\n2026-04-12T16:18:50.598274Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-04-12T16:18:55.602978Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 7.0MB → 0.1MB (56.9x), 90 JPEGs deleted\n2026-04-12T16:21:30.868887Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:21:30.868843+00:00 (14d retention)\n2026-04-12T16:23:55.619078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\n2026-04-12T16:23:57.827626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 2.9MB → 0.1MB (28.1x), 38 JPEGs deleted\n2026-04-12T16:25:51.808414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=18550308951191011, trigger=visual_change)\n2026-04-12T16:25:55.859250Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-12T16:26:22.022550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=335681983743287612, trigger=visual_change)\n2026-04-12T16:26:30.862865Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:26:30.862859+00:00 (14d retention)\n2026-04-12T16:26:49.195853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=visual_change)\n2026-04-12T16:26:50.724575Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5343690734172522381, trigger=clipboard)\n2026-04-12T16:26:58.277345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:26:59.647372Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=clipboard)\n2026-04-12T16:27:58.948426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3010912370653750266, trigger=visual_change)\n2026-04-12T16:28:57.842202Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-12T16:28:59.471378Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 2.1MB → 0.1MB (19.7x), 27 JPEGs deleted\n2026-04-12T16:30:07.202386Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3216013508830929208, trigger=click)\n2026-04-12T16:30:55.852584Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-12T16:31:30.887381Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:31:30.887363+00:00 (14d retention)\n2026-04-12T16:31:49.004783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:31:49.729537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=click)\n2026-04-12T16:31:55.091180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4616856516066852268, trigger=visual_change)\n2026-04-12T16:32:38.955241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:41.068172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=clipboard)\n2026-04-12T16:32:42.939568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=click)\n2026-04-12T16:32:44.448998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6390325610652879158, trigger=visual_change)\n2026-04-12T16:32:46.133335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=click)\n2026-04-12T16:32:47.467019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:32:47.909378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=clipboard)\n2026-04-12T16:33:06.479217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8449023476417186364, trigger=visual_change)\n2026-04-12T16:33:09.545186Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5503780454464997020, trigger=visual_change)\n2026-04-12T16:33:15.550145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7389604070772900291, trigger=visual_change)\n2026-04-12T16:33:59.523675Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 12 eligible frames\n2026-04-12T16:34:00.275262Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 0.9MB → 0.1MB (9.2x), 11 JPEGs deleted\n2026-04-12T16:36:30.893415Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:36:30.893405+00:00 (14d retention)\n2026-04-12T16:37:02.339834Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-12T16:42:28.176895Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 54 eligible frames\n2026-04-12T16:42:31.234893Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 4.9MB → 1.5MB (3.4x), 53 JPEGs deleted\n2026-04-12T16:46:30.256919Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T13:46:30.256841+00:00 (14d retention)\n2026-04-12T16:58:23.782435Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T16:59:58.366015Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames\n2026-04-12T16:59:59.856243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 2.8MB → 0.5MB (5.8x), 24 JPEGs deleted\n2026-04-12T18:37:05.993577Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T18:39:53.607673Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T18:46:44.262699Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T15:46:44.262630+00:00 (14d retention)\n2026-04-12T18:55:18.717641Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-12T19:09:18.536900Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-12T20:13:29.785331Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T17:13:29.785272+00:00 (14d retention)\n2026-04-12T20:13:47.397970Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording\n2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)\n2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording\n2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)\n2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6\n2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording\n2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording\n2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6\n2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1\n2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)\n2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)\n2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)\n2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)\n2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)\n2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)\n2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)\n2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)\n2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)\n2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)\n2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)\n2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)\n2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)\n2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)\n2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)\n2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)\n2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)\n2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)\n2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)\n2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)\n2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)\n2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)\n2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)\n2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)\n2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)\n2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)\n2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)\n2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)\n2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)\n2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)\n2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)\n2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)\n2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)\n2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)\n2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)\n2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)\n2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)\n2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)\n2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)\n2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)\n2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)\n2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)\n2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)\n2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)\n2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)\n2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)\n2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)\n2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)\n2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)\n2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)\n2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)\n2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)\n2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)\n2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)\n2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)\n2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)\n2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)\n2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)\n2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)\n2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames\n2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)\n2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted\n2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted\n2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted\n2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)\n2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames\n2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)\n2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted\n2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)\n2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted\n2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)\n2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames\n2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted\n2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)\n2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)\n2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted\n2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted\n2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)\n2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames\n2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted\n2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted\n2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)\n2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames\n2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted\n2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted\n2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)\n2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted\n2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)\n2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)\n2026-04-13T15:57:06.748688Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=1000 elapsed=1.158041625s\n2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted\n2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)\n2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames\n2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted\n2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)\n2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted\n2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)\n2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames\n2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted\n2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted\n2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)\n2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames\n2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted\n2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted\n2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)\n2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames\n2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted\n2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted\n2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)\n2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:30:07.345631Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.0x), 98 JPEGs deleted\n2026-04-13T16:30:09.401035Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 4.2MB → 0.2MB (17.5x), 35 JPEGs deleted\n2026-04-13T16:30:58.877763Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:30:58.877747+00:00 (14d retention)\n2026-04-13T16:35:09.543901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 123 eligible frames\n2026-04-13T16:35:15.118342Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (29.4x), 98 JPEGs deleted\n2026-04-13T16:35:16.544264Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.8MB → 0.2MB (13.7x), 23 JPEGs deleted\n2026-04-13T16:35:58.877807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:35:58.877797+00:00 (14d retention)\n2026-04-13T16:38:16.074486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9190773859099204307, trigger=click)\n2026-04-13T16:39:15.630281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=visual_change)\n2026-04-13T16:39:18.164527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T16:39:39.417651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:39:46.483591Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T16:40:16.572113Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 142 eligible frames\n2026-04-13T16:40:21.964524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.3x), 98 JPEGs deleted\n2026-04-13T16:40:23.872191Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-13T16:40:24.338496Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 5.1MB → 0.3MB (19.6x), 42 JPEGs deleted\n2026-04-13T16:40:58.876854Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:40:58.876845+00:00 (14d retention)\n2026-04-13T16:41:10.838114Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4963488946692588978, trigger=visual_change)\n2026-04-13T16:42:13.892340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5199349294477942535, trigger=click)\n2026-04-13T16:42:44.819070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2884217071189902213, trigger=click)\n2026-04-13T16:45:24.413681Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 163 eligible frames\n2026-04-13T16:45:29.941955Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (33.1x), 98 JPEGs deleted\n2026-04-13T16:45:33.507323Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 7.6MB → 0.3MB (24.3x), 63 JPEGs deleted\n2026-04-13T16:45:58.885928Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:45:58.885879+00:00 (14d retention)\n2026-04-13T16:50:33.536731Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-13T16:50:39.528450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 12.0MB → 2.2MB (5.4x), 98 JPEGs deleted\n2026-04-13T16:50:41.016936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.5MB → 1.6MB (2.2x), 17 JPEGs deleted\n2026-04-13T16:50:58.885615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:50:58.885607+00:00 (14d retention)\n2026-04-13T16:55:41.041166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames\n2026-04-13T16:55:46.654516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 17.3MB → 4.5MB (3.8x), 98 JPEGs deleted\n2026-04-13T16:55:48.802425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.0MB → 0.9MB (7.8x), 35 JPEGs deleted\n2026-04-13T16:55:58.885247Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:55:58.885238+00:00 (14d retention)\n2026-04-13T17:00:48.921394Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 125 eligible frames\n2026-04-13T17:00:54.499682Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 2.0MB (9.8x), 98 JPEGs deleted\n2026-04-13T17:00:56.069295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 0.7MB (7.2x), 25 JPEGs deleted\n2026-04-13T17:00:58.884750Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:00:58.884741+00:00 (14d retention)\n2026-04-13T17:04:17.476028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:20.514684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:23.559568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:29.620877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:04:44.761227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:21.254931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:24.295008Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:27.336461Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:30.386176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:42.486968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:51.582326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:54.624396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:05:56.063515Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 172 eligible frames\n2026-04-13T17:05:58.849231Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:05:58.849225+00:00 (14d retention)\n2026-04-13T17:06:01.555232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.4MB (13.6x), 98 JPEGs deleted\n2026-04-13T17:06:05.597067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 72 frames, 14.3MB → 1.1MB (12.9x), 72 JPEGs deleted\n2026-04-13T17:06:09.702568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:06:58.426892Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=visual_change)\n2026-04-13T17:07:01.047902Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:07:12.921022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3329654316747887579, trigger=click)\n2026-04-13T17:08:32.658411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=visual_change)\n2026-04-13T17:08:33.461053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:34.888152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1828895530282165448, trigger=click)\n2026-04-13T17:08:44.751908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6880399320930358557, trigger=visual_change)\n2026-04-13T17:08:47.811335Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5551774685991471183, trigger=visual_change)\n2026-04-13T17:08:59.877508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3750487923867570316, trigger=visual_change)\n2026-04-13T17:09:05.917138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5193827678277969729, trigger=visual_change)\n2026-04-13T17:09:08.963248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1573230130233012243, trigger=visual_change)\n2026-04-13T17:09:27.538887Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=visual_change)\n2026-04-13T17:10:15.148423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2198924557410214150, trigger=click)\n2026-04-13T17:10:19.711447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8529595713999975857, trigger=visual_change)\n2026-04-13T17:10:23.842094Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:10:58.846075Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:10:58.846061+00:00 (14d retention)\n2026-04-13T17:11:05.614778Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 133 eligible frames\n2026-04-13T17:11:11.080267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 19.5MB → 1.6MB (12.4x), 98 JPEGs deleted\n2026-04-13T17:11:13.049885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.6MB → 0.8MB (8.5x), 33 JPEGs deleted\n2026-04-13T17:14:28.187399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5634032665621410328, trigger=click)\n2026-04-13T17:15:58.842867Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:15:58.842852+00:00 (14d retention)\n2026-04-13T17:16:00.560201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3089258739618396828, trigger=click)\n2026-04-13T17:16:05.720267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-756028078299947006, trigger=click)\n2026-04-13T17:16:13.081624Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-13T17:16:17.891451Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 82 frames, 16.3MB → 1.7MB (9.4x), 82 JPEGs deleted\n2026-04-13T17:17:45.943910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7911837907515514222, trigger=click)\n2026-04-13T17:18:44.492158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5928663278776159308, trigger=visual_change)\n2026-04-13T17:19:18.239507Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8963743573879133782, trigger=visual_change)\n2026-04-13T17:20:52.622485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=visual_change)\n2026-04-13T17:20:52.865628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:53.794741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:55.173220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:56.419536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6420472110783357773, trigger=click)\n2026-04-13T17:20:58.841572Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:20:58.841554+00:00 (14d retention)\n2026-04-13T17:21:17.914363Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T17:21:23.033357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 19.3MB → 6.9MB (2.8x), 87 JPEGs deleted\n2026-04-13T17:22:17.281652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8506419545576175835, trigger=visual_change)\n2026-04-13T17:22:24.174259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8506170850142559396, trigger=click)\n2026-04-13T17:24:29.375130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1367698138829933492, trigger=click)\n2026-04-13T17:25:30.618046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5264066362649694131, trigger=clipboard)\n2026-04-13T17:25:58.861117Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:25:58.861102+00:00 (14d retention)\n2026-04-13T17:26:07.783284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3389874276161121002, trigger=clipboard)\n2026-04-13T17:26:23.079232Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 43 eligible frames\n2026-04-13T17:26:25.533960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 8.5MB → 1.4MB (5.9x), 42 JPEGs deleted\n2026-04-13T17:26:26.405342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4749965863260205632, trigger=click)\n2026-04-13T17:27:03.146806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5798553087892232859, trigger=click)\n2026-04-13T17:30:23.856612Z INFO screenpipe_engine::server: api_usage_5min: 2 requests\n2026-04-13T17:30:58.861025Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:30:58.861012+00:00 (14d retention)\n2026-04-13T17:31:25.542075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:31:29.155449Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 13.1MB → 1.9MB (6.9x), 65 JPEGs deleted\n2026-04-13T17:31:53.487787Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8861777922848222919, trigger=click)\n2026-04-13T17:35:26.901256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:29.203266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=click)\n2026-04-13T17:35:31.520280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5026980759537816432, trigger=clipboard)\n2026-04-13T17:35:33.300160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T17:35:45.306897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6087902347824858697, trigger=clipboard)\n2026-04-13T17:35:58.859672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:35:58.859656+00:00 (14d retention)\n2026-04-13T17:36:29.179810Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T17:36:32.011609Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 10.8MB → 1.7MB (6.2x), 49 JPEGs deleted\n2026-04-13T17:40:58.858490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:40:58.858471+00:00 (14d retention)\n2026-04-13T17:41:32.043222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T17:41:36.069242Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 16.1MB → 1.1MB (14.5x), 71 JPEGs deleted\n2026-04-13T17:42:15.596334Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4235966675435269325, trigger=click)\n2026-04-13T17:45:58.869276Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:45:58.869266+00:00 (14d retention)\n2026-04-13T17:46:36.092867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 66 eligible frames\n2026-04-13T17:46:39.758714Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 65 frames, 15.1MB → 1.0MB (15.3x), 65 JPEGs deleted\n2026-04-13T17:49:46.579982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8606465934501073324, trigger=click)\n2026-04-13T17:50:58.869493Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:50:58.869486+00:00 (14d retention)\n2026-04-13T17:51:39.783256Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 16 eligible frames\n2026-04-13T17:51:40.758071Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 3.5MB → 0.4MB (9.1x), 15 JPEGs deleted\n2026-04-13T17:52:09.695481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:52:18.104878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:20.446688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:52:22.950263Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4700020112238551079, trigger=click)\n2026-04-13T17:55:58.869201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T14:55:58.869180+00:00 (14d retention)\n2026-04-13T17:56:40.787956Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-13T17:56:42.144760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 5.1MB → 0.4MB (13.2x), 22 JPEGs deleted\n2026-04-13T17:57:54.358454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:57:58.419369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:12.778123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=click)\n2026-04-13T17:58:16.712796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:20.448642Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4773775936264703502, trigger=clipboard)\n2026-04-13T17:58:36.397921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T17:58:39.343061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7884575463800473404, trigger=click)\n2026-04-13T18:00:55.845071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-439578195712127451, trigger=click)\n2026-04-13T18:00:58.868418Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:00:58.868403+00:00 (14d retention)\n2026-04-13T18:01:42.187214Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-13T18:01:44.040254Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 7.2MB → 0.5MB (14.4x), 31 JPEGs deleted\n2026-04-13T18:03:22.816287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-481145244361585685, trigger=click)\n2026-04-13T18:05:58.873688Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:05:58.873678+00:00 (14d retention)\n2026-04-13T18:06:44.077710Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-13T18:06:46.456870Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 9.6MB → 0.4MB (24.2x), 41 JPEGs deleted\n2026-04-13T18:10:58.873801Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:10:58.873743+00:00 (14d retention)\n2026-04-13T18:11:46.492855Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-04-13T18:11:48.658067Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 8.6MB → 0.8MB (11.3x), 37 JPEGs deleted\n2026-04-13T18:15:58.875133Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:15:58.875119+00:00 (14d retention)\n2026-04-13T18:16:48.694011Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 27 eligible frames\n2026-04-13T18:16:50.273243Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 6.1MB → 0.4MB (15.6x), 26 JPEGs deleted\n2026-04-13T18:18:31.734321Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-13T18:23:08.990753Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:23:08.990735+00:00 (14d retention)\n2026-04-13T18:24:18.871885Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:24:20.038791Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.2MB → 0.4MB (10.8x), 18 JPEGs deleted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T18:35:13.146239Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-13T18:35:13.149068Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-04-13T18:35:13.170962Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-04-13T18:35:13.680481Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-13T18:35:27.620608Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)\n2026-04-13T18:36:17.152264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1184372696878099077, trigger=click)\n2026-04-13T18:36:28.363701Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:36:28.363689+00:00 (14d retention)\n2026-04-13T18:37:21.142467Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 10 eligible frames\n2026-04-13T18:37:21.905994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 2.1MB → 0.4MB (5.5x), 9 JPEGs deleted\n2026-04-13T18:37:36.639362Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6976444594554398738, trigger=click)\n2026-04-13T18:39:53.327516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:41:28.358989Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:41:28.358952+00:00 (14d retention)\n2026-04-13T18:42:21.940046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-13T18:46:28.358214Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:46:28.358197+00:00 (14d retention)\n2026-04-13T18:47:21.955151Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 6 eligible frames\n2026-04-13T18:47:22.689470Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.5MB (2.3x), 6 JPEGs deleted\n2026-04-13T18:48:30.117101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8612826691778232576, trigger=click)\n2026-04-13T18:51:28.358332Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:51:28.358272+00:00 (14d retention)\n2026-04-13T18:52:22.720460Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T18:52:24.625362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.5MB → 0.5MB (14.3x), 32 JPEGs deleted\n2026-04-13T18:53:26.194571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2525325065609490636, trigger=click)\n2026-04-13T18:54:48.394617Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T18:56:28.358108Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T15:56:28.358077+00:00 (14d retention)\n2026-04-13T18:57:24.630003Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 19 eligible frames\n2026-04-13T18:57:26.008482Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.3MB → 1.1MB (3.8x), 18 JPEGs deleted\n2026-04-13T19:01:28.309932Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:01:28.309902+00:00 (14d retention)\n2026-04-13T19:01:34.835096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8845567138521432327, trigger=click)\n2026-04-13T19:02:26.033245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 59 eligible frames\n2026-04-13T19:02:29.410795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 15.1MB → 2.4MB (6.3x), 58 JPEGs deleted\n2026-04-13T19:06:28.306223Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:06:28.306189+00:00 (14d retention)\n2026-04-13T19:07:29.443796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-13T19:07:32.264873Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 9.3MB → 1.9MB (4.9x), 49 JPEGs deleted\n2026-04-13T19:09:21.780997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2535583028595392832, trigger=click)\n2026-04-13T19:11:28.301542Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:11:28.301502+00:00 (14d retention)\n2026-04-13T19:12:32.301751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-04-13T19:12:35.543171Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 54 frames, 8.4MB → 0.2MB (34.0x), 54 JPEGs deleted\n2026-04-13T19:15:28.279261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643209958340923733, trigger=click)\n2026-04-13T19:16:28.300071Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:16:28.300040+00:00 (14d retention)\n2026-04-13T19:17:35.879347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-13T19:17:37.771162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.0MB → 0.2MB (21.2x), 32 JPEGs deleted\n2026-04-13T19:21:28.313672Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:21:28.313650+00:00 (14d retention)\n2026-04-13T19:21:43.867272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:21:53.316112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7726912391365776224, trigger=click)\n2026-04-13T19:22:37.824162Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-13T19:22:39.564867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 4.5MB → 0.2MB (19.7x), 29 JPEGs deleted\n2026-04-13T19:23:58.293564Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:05.926037Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:07.100441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:08.189505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:09.316024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:10.334454Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:11.039989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.279934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:12.934012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:13.905703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:14.688081Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:16.790073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:17.648048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:18.648340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:20.939136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3870500721152908643, trigger=click)\n2026-04-13T19:24:32.085226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1677564857471996960, trigger=click)\n2026-04-13T19:24:52.669280Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5315255766850756707, trigger=click)\n2026-04-13T19:26:28.311385Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:26:28.311371+00:00 (14d retention)\n2026-04-13T19:27:39.600820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 72 eligible frames\n2026-04-13T19:27:43.607748Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 71 frames, 10.7MB → 2.0MB (5.3x), 71 JPEGs deleted\n2026-04-13T19:29:29.337437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6191878184103635993, trigger=click)\n2026-04-13T19:30:53.305205Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-13T19:31:28.308892Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:31:28.308882+00:00 (14d retention)\n2026-04-13T19:32:39.123443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:32:43.640042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-13T19:32:47.533673Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 69 frames, 10.8MB → 0.5MB (22.6x), 69 JPEGs deleted\n2026-04-13T19:32:50.924091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1693584930482156986, trigger=click)\n2026-04-13T19:36:28.306590Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:36:28.306551+00:00 (14d retention)\n2026-04-13T19:37:47.886163Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 88 eligible frames\n2026-04-13T19:37:51.291730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:37:52.768785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 87 frames, 13.5MB → 0.5MB (28.8x), 87 JPEGs deleted\n2026-04-13T19:37:57.364851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366768294006797733, trigger=visual_change)\n2026-04-13T19:38:38.577300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4736856628251450227, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-strt\nzsh: command not found: sp-strt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start \n[1] 21900\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-13T19:39:27.177326Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-13T19:39:29.590345Z WARN sqlx::query: summary=\"-- Partial index on …\" db.statement=\"\\n\\n-- Partial index on frames.elements_ref_frame_id to eliminate the full\\n-- table scan in the retention anchor-frame subquery.\\n--\\n-- The correlated subquery in delete_time_range_batch:\\n-- SELECT DISTINCT f.id FROM frames f\\n-- WHERE f.timestamp BETWEEN ?1 AND ?2\\n-- AND EXISTS (SELECT 1 FROM frames ref\\n-- WHERE ref.elements_ref_frame_id = f.id\\n-- AND ref.timestamp NOT BETWEEN ?1 AND ?2)\\n--\\n-- falls back to a full scan of `frames` on the inner EXISTS without this\\n-- index (elements_ref_frame_id was added in 20260318000000 without one).\\n-- Measured 5m55s per 1-hour retention batch on a 33k-frame DB, making\\n-- retention unusable on any non-trivial backlog.\\n--\\n-- With the index, the inner plan becomes:\\n-- SEARCH ref USING INDEX idx_frames_elements_ref_frame_id (elements_ref_frame_id=?)\\n-- and the same query runs in ~5ms.\\n--\\n-- Partial (WHERE elements_ref_frame_id IS NOT NULL) because only frames\\n-- that reference a dedup anchor are relevant here. Storage cost is\\n-- negligible -- single-digit MB/year for typical capture volume, and it\\n-- is the smallest index on the frames table by a wide margin.\\nCREATE INDEX IF NOT EXISTS idx_frames_elements_ref_frame_id ON frames(elements_ref_frame_id)\\nWHERE\\n elements_ref_frame_id IS NOT NULL;\\n\" rows_affected=0 rows_returned=0 elapsed=1.230052917s\n2026-04-13T19:39:29.593268Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-13T19:39:29.594665Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-13T19:39:29.594680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-13T19:39:29.595089Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-13T19:39:29.595024Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-13T19:39:29.595128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-13T19:39:29.595223Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-13T19:39:29.595562Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-13T19:39:29.595770Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-13T19:39:29.596448Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-13T19:39:29.596584Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-13T19:39:29.596715Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-13T19:39:29.596827Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-13T19:39:29.596844Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-13T19:39:29.598802Z INFO screenpipe: starting UI event capture\n2026-04-13T19:39:29.598404Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-13T19:39:29.603432Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-13T19:39:29.609967Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-13T19:39:29.615106Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-13T19:39:29.630434Z INFO screenpipe_engine::ui_recorder: UI recording session started: faca997c-ce9a-477c-b5d0-e56e509585e9\n2026-04-13T19:39:29.630483Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-13T19:39:29.630562Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-12 16:39:29.630549 UTC to 2026-04-13 16:39:29.630549 UTC)\n2026-04-13T19:39:29.631025Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-13T19:39:29.637981Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-13T19:39:29.643829Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-13T19:39:29.788633Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3943 frame entries, coverage from 2026-04-12 16:39:29.630549 UTC\n2026-04-13T19:39:30.543977Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-13T19:39:30.544012Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-13T19:39:30.544060Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-13T19:39:31.016978Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-13T19:39:31.017036Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-13T19:39:31.017080Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-13T19:39:31.017114Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-13T19:39:32.207273Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-13T19:39:32.673392Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=7912, dur=47ms\n2026-04-13T19:39:32.704069Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-13T19:39:32.872035Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=7913, dur=108ms\n2026-04-13T19:39:34.636509Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-13T19:39:34.637200Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-13T19:39:44.339956Z WARN sqlx::query: summary=\"SELECT frames.id as frame_id, …\" db.statement=\"\\n\\nSELECT\\n frames.id as frame_id,\\n COALESCE(\\n frames.full_text,\\n ocr_text.text,\\n frames.accessibility_text,\\n ''\\n ) as ocr_text,\\n ocr_text.text_json,\\n frames.timestamp,\\n frames.name as frame_name,\\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\\n frames.offset_index,\\n frames.app_name,\\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\\n frames.window_name,\\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\\n GROUP_CONCAT(tags.name, ',') as tags,\\n frames.browser_url,\\n frames.focused\\nFROM\\n frames\\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\\nWHERE\\n 1 = 1\\n AND (\\n ?2 IS NULL\\n OR frames.timestamp >= ?2\\n )\\n AND (\\n ?3 IS NULL\\n OR frames.timestamp <= ?3\\n )\\n AND (\\n ?4 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\\n )\\n AND (\\n ?5 IS NULL\\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\\n )\\n AND (\\n ?6 IS NULL\\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\\n )\\n AND (\\n ?7 IS NULL\\n OR frames.machine_id = ?7\\n )\\n AND (\\n ?8 IS NULL\\n OR frames.focused = ?8\\n )\\n AND (\\n ?9 IS NULL\\n OR frames.name LIKE '%' || ?9 || '%'\\n )\\nGROUP BY\\n frames.id\\nORDER BY\\n frames.timestamp DESC\\nLIMIT\\n ?10 OFFSET ?11\\n\" rows_affected=0 rows_returned=5000 elapsed=1.608390416s\n2026-04-13T19:40:29.616115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 17 eligible frames\n2026-04-13T19:40:31.310725Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.5MB → 0.2MB (11.1x), 16 JPEGs deleted\n2026-04-13T19:41:39.668138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:41:40.367247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8016967779645642766, trigger=click)\n2026-04-13T19:42:16.296737Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-96467039929937080, trigger=click)\n2026-04-13T19:42:34.936430Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5664644461248729071, trigger=visual_change)\n2026-04-13T19:44:29.627763Z INFO screenpipe_engine::server: api_usage_5min: 5 requests\n2026-04-13T19:45:04.634490Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:45:04.634462+00:00 (14d retention)\n2026-04-13T19:45:31.349267Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 20 eligible frames\n2026-04-13T19:45:32.543028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.0MB → 0.3MB (9.9x), 19 JPEGs deleted\n2026-04-13T19:50:02.916584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:02.918035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6198286277822952673, trigger=click)\n2026-04-13T19:50:04.630322Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T16:50:04.630300+00:00 (14d retention)\n2026-04-13T19:50:32.575742Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-13T19:50:35.515577Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 6.6MB → 2.0MB (3.3x), 46 JPEGs deleted\n2026-04-13T19:50:36.330072Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.6MB (1.9x), 6 JPEGs deleted\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 24316\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-14T09:23:18.095876Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-14T09:23:19.016665Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-14T09:23:19.018052Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-14T09:23:19.018065Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-14T09:23:19.018310Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-14T09:23:19.018350Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-14T09:23:19.018329Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-14T09:23:19.018781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-14T09:23:19.018887Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-14T09:23:19.018976Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-14T09:23:19.019743Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-14T09:23:19.021386Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-14T09:23:19.021709Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-14T09:23:19.021835Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-14T09:23:19.021852Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ Parakeet │\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 │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ disabled │\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-04-14T09:23:19.025225Z INFO screenpipe: starting UI event capture\n2026-04-14T09:23:19.024042Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-14T09:23:19.034460Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-14T09:23:19.035048Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-14T09:23:19.041739Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-14T09:23:19.057947Z INFO screenpipe_engine::ui_recorder: UI recording session started: c7672ba6-54dd-483e-9512-949b51a2bd49\n2026-04-14T09:23:19.058064Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-14T09:23:19.058114Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-13 06:23:19.058103 UTC to 2026-04-14 06:23:19.058103 UTC)\n2026-04-14T09:23:19.062532Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-14T09:23:19.066551Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-14T09:23:19.080775Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-14T09:23:19.697314Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3756 frame entries, coverage from 2026-04-13 06:23:19.058103 UTC\n2026-04-14T09:23:19.985445Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-14T09:23:19.985474Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-14T09:23:19.985515Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-14T09:23:20.492622Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (2560x1440)\n2026-04-14T09:23:20.492664Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-14T09:23:20.492694Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-14T09:23:20.492726Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-14T09:23:21.313246Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-04-14T09:23:22.387611Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (2560x1440, 2fps, 0 excluded)\n2026-04-14T09:23:22.954948Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=8037, dur=1082ms\n2026-04-14T09:23:23.488645Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=8038, dur=1012ms\n2026-04-14T09:23:24.063719Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-14T09:23:24.063951Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-14T09:24:19.745739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-14T09:24:23.350916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 6.7MB → 2.6MB (2.6x), 51 JPEGs deleted\n2026-04-14T09:24:26.531119Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.6MB → 3.9MB (2.7x), 55 JPEGs deleted\n2026-04-14T09:28:19.055456Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:28:54.061635Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:28:54.061630+00:00 (14d retention)\n2026-04-14T09:29:26.561625Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-14T09:33:54.056707Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:33:54.056680+00:00 (14d retention)\n2026-04-14T09:34:26.581293Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 11 eligible frames\n2026-04-14T09:34:27.123519Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 4 frames, 0.9MB → 0.6MB (1.6x), 4 JPEGs deleted\n2026-04-14T09:34:28.092531Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.4MB → 0.8MB (1.8x), 7 JPEGs deleted\n2026-04-14T09:38:54.029363Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:38:54.029346+00:00 (14d retention)\n2026-04-14T09:39:28.082314Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-14T09:39:29.343941Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 4.0MB → 0.7MB (6.0x), 18 JPEGs deleted\n2026-04-14T09:39:30.750250Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.8MB (4.5x), 20 JPEGs deleted\n2026-04-14T09:41:13.184908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6982821907865222085, trigger=click)\n2026-04-14T09:41:19.221590Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6812429097673958383, trigger=visual_change)\n2026-04-14T09:42:17.435758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6365427964931292073, trigger=click)\n2026-04-14T09:42:33.656193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4160452185621303946, trigger=click)\n2026-04-14T09:42:46.140088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2304266842869419917, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-14T09:43:54.022784Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:43:54.022742+00:00 (14d retention)\n2026-04-14T09:44:07.036758Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:16.412880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150758636940404341, trigger=visual_change)\n2026-04-14T09:44:31.467140Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-04-14T09:44:32.220816Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.2MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:33.112790Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.5MB → 0.4MB (6.9x), 10 JPEGs deleted\n2026-04-14T09:44:49.822061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=visual_change)\n2026-04-14T09:44:58.085483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1260068684416652810, trigger=click)\n2026-04-14T09:45:11.008075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=visual_change)\n2026-04-14T09:45:27.976077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:28.005455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6037618265436815739, trigger=click)\n2026-04-14T09:45:33.771220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6619028446781713005, trigger=click)\n2026-04-14T09:46:17.937329Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:20.967541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6551069930100399172, trigger=visual_change)\n2026-04-14T09:46:39.124248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=visual_change)\n2026-04-14T09:46:48.114315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:46:48.134347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8975630290856622014, trigger=click)\n2026-04-14T09:48:19.010549Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-14T09:48:28.225785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:28.241367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2746019670363252567, trigger=click)\n2026-04-14T09:48:35.474701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2313032521647048085, trigger=click)\n2026-04-14T09:48:44.297355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=529628650036307666, trigger=click)\n2026-04-14T09:48:54.016503Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:48:54.016484+00:00 (14d retention)\n2026-04-14T09:49:33.136435Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 87 eligible frames\n2026-04-14T09:49:35.411222Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 8.9MB → 1.6MB (5.4x), 33 JPEGs deleted\n2026-04-14T09:49:39.291290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 10.8MB → 4.1MB (2.6x), 52 JPEGs deleted\n2026-04-14T09:52:10.262616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4590837745933313988, trigger=click)\n2026-04-14T09:52:25.201982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:28.245911Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:37.345773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:40.396144Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4590837745933313988, trigger=visual_change)\n2026-04-14T09:52:54.098628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:52:54.108786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2540129927862717858, trigger=click)\n2026-04-14T09:53:13.724192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:16.763953Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:19.793338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:25.860403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:28.887448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:31.919424Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:44.021891Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6850664184897375859, trigger=visual_change)\n2026-04-14T09:53:53.090419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:54.010522Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:53:54.010512+00:00 (14d retention)\n2026-04-14T09:53:56.129621Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:53:59.154578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4595186536147244130, trigger=visual_change)\n2026-04-14T09:54:05.213884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:08.251183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:14.329171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6448776714852722509, trigger=visual_change)\n2026-04-14T09:54:39.747828Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 186 eligible frames\n2026-04-14T09:54:41.500859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2366998612440519548, trigger=visual_change)\n2026-04-14T09:54:44.836247Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 86 frames, 14.4MB → 3.3MB (4.3x), 86 JPEGs deleted\n2026-04-14T09:54:51.018273Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.3MB → 5.7MB (2.5x), 98 JPEGs deleted\n2026-04-14T09:58:35.439655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7018639353123991036, trigger=click)\n2026-04-14T09:58:53.989016Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-31T06:58:53.989006+00:00 (14d retention)\n2026-04-14T09:59:51.618785Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 150 eligible frames\n2026-04-14T09:59:57.069345Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 80 frames, 12.2MB → 4.4MB (2.8x), 80 JPEGs deleted\n2026-04-14T10:00:04.665192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.2MB → 5.4MB (2.3x), 68 JPEGs deleted","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"role_description":"text"}]...
|
-6150758636940404341
|
-8869373171955034755
|
visual_change
|
accessibility
|
NULL
|
clipboard)
2026-04-12T12:56:32.282413Z INFO scree clipboard)
2026-04-12T12:56:32.282413Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames
2026-04-12T12:56:35.864419Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 12.3MB → 1.4MB (8.8x), 62 JPEGs deleted
2026-04-12T12:57:23.323460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7117750811651615127, trigger=visual_change)
2026-04-12T12:57:50.662064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:53.683485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:55.798894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=click)
2026-04-12T12:57:56.695259Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:57:59.627838Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=clipboard)
2026-04-12T12:58:06.244699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-511619204708572479, trigger=visual_change)
2026-04-12T12:58:12.326714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1307508556897368580, trigger=visual_change)
2026-04-12T12:58:24.650586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7572195946815769416, trigger=visual_change)
2026-04-12T12:58:33.716470Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=visual_change)
2026-04-12T12:58:36.001151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3380018746534994898, trigger=clipboard)
2026-04-12T12:58:58.301152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1143839518323082265, trigger=visual_change)
2026-04-12T12:59:04.378698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:07.382586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:10.381122Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:16.434529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:22.369195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:25.626810Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:26.286149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:26.557203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=clipboard)
2026-04-12T12:59:30.443395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=click)
2026-04-12T12:59:32.544924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6234391425887373863, trigger=visual_change)
2026-04-12T12:59:44.704803Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=443481647041916883, trigger=visual_change)
2026-04-12T13:00:05.117734Z INFO screenpipe_engine::server: api_usage_5min: 14 requests
2026-04-12T13:00:40.121236Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:00:40.121208+00:00 (14d retention)
2026-04-12T13:01:35.875809Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames
2026-04-12T13:01:41.052370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 16.3MB → 2.6MB (6.2x), 92 JPEGs deleted
2026-04-12T13:05:05.113110Z INFO screenpipe_engine::server: api_usage_5min: 2 requests
2026-04-12T13:05:40.135052Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:05:40.135037+00:00 (14d retention)
2026-04-12T13:06:41.084839Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 76 eligible frames
2026-04-12T13:06:45.534272Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 75 frames, 14.1MB → 7.0MB (2.0x), 75 JPEGs deleted
2026-04-12T13:10:40.134615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:10:40.134575+00:00 (14d retention)
2026-04-12T13:11:45.546114Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames
2026-04-12T13:11:49.453197Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 10.2MB → 3.6MB (2.8x), 64 JPEGs deleted
2026-04-12T13:13:54.895981Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-12T13:23:50.936233Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:23:50.936218+00:00 (14d retention)
2026-04-12T13:25:00.291068Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-12T13:25:02.158205Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 4.5MB → 1.2MB (3.7x), 31 JPEGs deleted
2026-04-12T13:32:02.286288Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T10:32:02.286237+00:00 (14d retention)
2026-04-12T13:36:43.535311Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-12T14:00:30.096441Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T11:00:30.096410+00:00 (14d retention)
2026-04-12T14:03:33.050373Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url ([URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ 2026-04-12T20:14:53.267187Z INFO screenpipe_engine::vision_manager::monitor_watcher: New monitor 6 detected, starting recording
2026-04-12T20:14:53.504465Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 6 (2560x1440)
2026-04-12T20:14:53.504821Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.504861Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 disconnected, stopping recording
2026-04-12T20:14:53.504869Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1
2026-04-12T20:14:53.505247Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 6 (device: monitor_6)
2026-04-12T20:14:53.505539Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 6
2026-04-12T20:26:44.490006Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T21:19:37.144088Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:14:45.376795Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 1 reconnected, resuming recording
2026-04-12T22:14:45.691383Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-04-12T22:14:45.691471Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691487Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 6 disconnected, stopping recording
2026-04-12T22:14:45.691497Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 6
2026-04-12T22:14:45.691504Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-04-12T22:14:45.691518Z INFO screenpipe_engine::event_driven_capture: screen is locked on startup, skipping initial capture for monitor 1
2026-04-12T22:15:08.850666Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:15:35.653527Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:15:35.653498+00:00 (14d retention)
2026-04-12T22:16:13.877754Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:16:34.828212Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-12T22:16:34.868351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-12T22:16:34.883187Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-12T22:16:35.346631Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-12T22:16:48.463120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=visual_change)
2026-04-12T22:16:48.804890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8881612386233290395, trigger=click)
2026-04-12T22:16:59.897151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3604981275089575272, trigger=click)
2026-04-12T22:17:18.850373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2355689602952124658, trigger=visual_change)
2026-04-12T22:17:18.918578Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:17:33.961611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1484931182052497352, trigger=visual_change)
2026-04-12T22:18:23.938126Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:18:52.752659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7132740500514870786, trigger=visual_change)
2026-04-12T22:19:28.964313Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:19:35.208922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:19:38.220553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7520087617581375402, trigger=visual_change)
2026-04-12T22:20:29.699327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:34.005845Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:20:35.648827Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:20:35.648818+00:00 (14d retention)
2026-04-12T22:20:38.768848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8423083696421607961, trigger=visual_change)
2026-04-12T22:20:47.878009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:50.900875Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7616415175664572712, trigger=visual_change)
2026-04-12T22:20:59.937401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1304474969039783672, trigger=visual_change)
2026-04-12T22:21:27.187255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:30.214215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:33.220423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5660606474235116689, trigger=visual_change)
2026-04-12T22:21:39.027483Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:21:54.477609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:21:57.490028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3451424756031953095, trigger=visual_change)
2026-04-12T22:22:06.557939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:09.561968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:12.620628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6096774307956840043, trigger=visual_change)
2026-04-12T22:22:27.699475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4406650560182634868, trigger=visual_change)
2026-04-12T22:22:39.836999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6702397966650464851, trigger=visual_change)
2026-04-12T22:22:44.052745Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:22:54.977274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4954038102724882870, trigger=visual_change)
2026-04-12T22:23:04.067624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7556556138478186125, trigger=visual_change)
2026-04-12T22:23:22.229817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9076293218035077076, trigger=visual_change)
2026-04-12T22:23:28.278077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:34.312538Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4783981874452913338, trigger=visual_change)
2026-04-12T22:23:40.338438Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:43.350979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4987736796410036352, trigger=visual_change)
2026-04-12T22:23:49.082693Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:23:58.499624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:01.517862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-763583983667788238, trigger=visual_change)
2026-04-12T22:24:10.610720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:13.622839Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-528530849735058466, trigger=visual_change)
2026-04-12T22:24:28.729718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-268381976421465647, trigger=visual_change)
2026-04-12T22:24:37.819714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:40.807487Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:43.926970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4292471428384779442, trigger=visual_change)
2026-04-12T22:24:54.102622Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:24:56.037518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1336615422496480469, trigger=visual_change)
2026-04-12T22:25:04.994185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2490954796285178130, trigger=visual_change)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-12T22:25:14.042201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6660592639383128564, trigger=visual_change)
2026-04-12T22:25:20.906940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7604187256398490687, trigger=click)
2026-04-12T22:25:35.646197Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:25:35.646180+00:00 (14d retention)
2026-04-12T22:25:59.131708Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-12T22:30:35.546756Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:30:35.546690+00:00 (14d retention)
2026-04-12T22:35:35.540779Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:35:35.540726+00:00 (14d retention)
2026-04-12T22:40:35.534224Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:40:35.534197+00:00 (14d retention)
2026-04-12T22:45:35.553749Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:45:35.553714+00:00 (14d retention)
2026-04-12T22:50:35.547970Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:50:35.547775+00:00 (14d retention)
2026-04-12T22:55:35.543613Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T19:55:35.543583+00:00 (14d retention)
2026-04-12T23:00:35.530639Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:00:35.530575+00:00 (14d retention)
2026-04-12T23:05:35.525661Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:05:35.525614+00:00 (14d retention)
2026-04-12T23:10:35.519806Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:10:35.519766+00:00 (14d retention)
2026-04-12T23:15:35.531767Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:15:35.531720+00:00 (14d retention)
2026-04-12T23:20:35.528053Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:20:35.527995+00:00 (14d retention)
2026-04-12T23:25:35.522960Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:25:35.522901+00:00 (14d retention)
2026-04-12T23:30:35.517961Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:30:35.517905+00:00 (14d retention)
2026-04-12T23:35:35.513125Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:35:35.513064+00:00 (14d retention)
2026-04-12T23:40:35.509062Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:40:35.508928+00:00 (14d retention)
2026-04-12T23:45:35.504021Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:45:35.503956+00:00 (14d retention)
2026-04-12T23:50:35.454615Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:50:35.454592+00:00 (14d retention)
2026-04-12T23:55:35.448748Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T20:55:35.448668+00:00 (14d retention)
2026-04-13T00:00:35.442141Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:00:35.442098+00:00 (14d retention)
2026-04-13T00:05:35.495992Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:05:35.495911+00:00 (14d retention)
2026-04-13T00:10:33.704826Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-13T00:10:35.489255Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-29T21:10:35.489246+00:00 (14d retention)
2026-04-13T04:35:50.292492Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:08:19.632155Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:23:13.306515Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:44:49.127855Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T09:46:08.530755Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T06:46:08.530742+00:00 (14d retention)
2026-04-13T09:56:03.339024Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T10:17:58.001333Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:09:17.685286Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-04-13T15:10:58.856201Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:10:58.856189+00:00 (14d retention)
2026-04-13T15:11:08.215959Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-13T15:11:08.233258Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-04-13T15:11:08.258389Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)
2026-04-13T15:11:08.584259Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)
2026-04-13T15:11:08.744918Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (102 -> 103), clearing cache
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ 2026-04-13T15:11:18.351950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3109533011400363461, trigger=click)
2026-04-13T15:11:30.250935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:11:33.282072Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1668589341758781530, trigger=visual_change)
2026-04-13T15:11:45.371786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8357418222679209184, trigger=visual_change)
2026-04-13T15:12:30.742143Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6720830376041362096, trigger=visual_change)
2026-04-13T15:12:37.072650Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3567639822824693735, trigger=visual_change)
2026-04-13T15:13:16.438133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:19.551988Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=click)
2026-04-13T15:13:33.147285Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 312 eligible frames
2026-04-13T15:13:38.418523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6120049575502606819, trigger=visual_change)
2026-04-13T15:13:39.034453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 16.9MB → 5.4MB (3.1x), 100 JPEGs deleted
2026-04-13T15:13:44.624555Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.175134Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 28.6MB → 0.5MB (56.5x), 100 JPEGs deleted
2026-04-13T15:13:50.964513Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 3.4MB → 0.5MB (6.9x), 12 JPEGs deleted
2026-04-13T15:15:23.847308Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-13T15:15:58.849682Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:15:58.849672+00:00 (14d retention)
2026-04-13T15:18:51.418476Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 4 eligible frames
2026-04-13T15:20:58.844397Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:20:58.844384+00:00 (14d retention)
2026-04-13T15:23:51.658198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-04-13T15:23:54.196880Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.4MB → 4.1MB (1.5x), 34 JPEGs deleted
2026-04-13T15:25:58.849578Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:25:58.849562+00:00 (14d retention)
2026-04-13T15:28:54.439933Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:28:59.739644Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 94 frames, 13.6MB → 0.4MB (32.3x), 94 JPEGs deleted
2026-04-13T15:30:58.843449Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:30:58.843438+00:00 (14d retention)
2026-04-13T15:33:59.997784Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 98 eligible frames
2026-04-13T15:34:05.496170Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 97 frames, 14.0MB → 0.4MB (32.2x), 97 JPEGs deleted
2026-04-13T15:35:58.838949Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:35:58.838933+00:00 (14d retention)
2026-04-13T15:36:43.957185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8238343711221217740, trigger=visual_change)
2026-04-13T15:39:05.750583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T15:39:11.372793Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.3MB → 0.4MB (32.3x), 99 JPEGs deleted
2026-04-13T15:39:12.238235Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.7x), 13 JPEGs deleted
2026-04-13T15:40:58.859706Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:40:58.859689+00:00 (14d retention)
2026-04-13T15:44:12.510199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 111 eligible frames
2026-04-13T15:44:18.081066Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 14.2MB → 0.4MB (34.1x), 98 JPEGs deleted
2026-04-13T15:44:18.845421Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.6MB → 0.2MB (7.3x), 11 JPEGs deleted
2026-04-13T15:45:58.861764Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:45:58.861753+00:00 (14d retention)
2026-04-13T15:49:19.146995Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 106 eligible frames
2026-04-13T15:49:24.726638Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 15.2MB → 1.0MB (14.7x), 98 JPEGs deleted
2026-04-13T15:49:25.321666Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.0MB → 0.2MB (4.1x), 6 JPEGs deleted
2026-04-13T15:50:58.857966Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:50:58.857955+00:00 (14d retention)
2026-04-13T15:54:25.552953Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-04-13T15:54:30.752258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 93 frames, 15.3MB → 0.3MB (55.6x), 93 JPEGs deleted
2026-04-13T15:55:08.850842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:11.307514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7660123553205362671, trigger=click)
2026-04-13T15:55:58.854584Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T12:55:58.854569+00:00 (14d retention)
2026-04-13T15:57:06.748688Z WARN sqlx::query: summary="SELECT frames.id as frame_id, …" db.statement="\n\nSELECT\n frames.id as frame_id,\n COALESCE(\n frames.full_text,\n ocr_text.text,\n frames.accessibility_text,\n ''\n ) as ocr_text,\n ocr_text.text_json,\n frames.timestamp,\n frames.name as frame_name,\n COALESCE(frames.snapshot_path, video_chunks.file_path) as file_path,\n frames.offset_index,\n frames.app_name,\n COALESCE(ocr_text.ocr_engine, '') as ocr_engine,\n frames.window_name,\n COALESCE(video_chunks.device_name, frames.device_name) as device_name,\n GROUP_CONCAT(tags.name, ',') as tags,\n frames.browser_url,\n frames.focused\nFROM\n frames\n LEFT JOIN video_chunks ON frames.video_chunk_id = video_chunks.id\n LEFT JOIN ocr_text ON frames.id = ocr_text.frame_id\n LEFT JOIN vision_tags ON frames.id = vision_tags.vision_id\n LEFT JOIN tags ON vision_tags.tag_id = tags.id\nWHERE\n 1 = 1\n AND (\n ?2 IS NULL\n OR frames.timestamp >= ?2\n )\n AND (\n ?3 IS NULL\n OR frames.timestamp <= ?3\n )\n AND (\n ?4 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) >= ?4\n )\n AND (\n ?5 IS NULL\n OR LENGTH(COALESCE(frames.full_text, ocr_text.text, '')) <= ?5\n )\n AND (\n ?6 IS NULL\n OR COALESCE(video_chunks.device_name, frames.device_name) LIKE '%' || ?6 || '%'\n )\n AND (\n ?7 IS NULL\n OR frames.machine_id = ?7\n )\n AND (\n ?8 IS NULL\n OR frames.focused = ?8\n )\n AND (\n ?9 IS NULL\n OR frames.name LIKE '%' || ?9 || '%'\n )\nGROUP BY\n frames.id\nORDER BY\n frames.timestamp DESC\nLIMIT\n ?10 OFFSET ?11\n" rows_affected=0 rows_returned=1000 elapsed=1.158041625s
2026-04-13T15:59:30.782676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-04-13T15:59:34.479395Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 63 frames, 10.3MB → 0.3MB (39.5x), 63 JPEGs deleted
2026-04-13T16:00:23.847610Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-13T16:00:58.868162Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:00:58.868152+00:00 (14d retention)
2026-04-13T16:04:34.533584Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 79 eligible frames
2026-04-13T16:04:38.997720Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 12.8MB → 0.3MB (47.7x), 78 JPEGs deleted
2026-04-13T16:05:58.872129Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:05:58.872118+00:00 (14d retention)
2026-04-13T16:09:39.038290Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames
2026-04-13T16:09:42.379184Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 7.5MB → 2.1MB (3.6x), 57 JPEGs deleted
2026-04-13T16:10:58.871036Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:10:58.871026+00:00 (14d retention)
2026-04-13T16:14:42.468923Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 110 eligible frames
2026-04-13T16:14:48.051795Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 11.9MB → 0.4MB (30.2x), 99 JPEGs deleted
2026-04-13T16:14:48.760305Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.2MB → 0.2MB (7.6x), 10 JPEGs deleted
2026-04-13T16:15:58.868243Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:15:58.868232+00:00 (14d retention)
2026-04-13T16:19:48.877144Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 113 eligible frames
2026-04-13T16:19:54.398325Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (30.6x), 98 JPEGs deleted
2026-04-13T16:19:55.258815Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.6MB → 0.2MB (8.4x), 13 JPEGs deleted
2026-04-13T16:20:58.867143Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:20:58.867134+00:00 (14d retention)
2026-04-13T16:24:55.331192Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 112 eligible frames
2026-04-13T16:25:00.883640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 98 frames, 11.8MB → 0.4MB (31.3x), 98 JPEGs deleted
2026-04-13T16:25:01.692088Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.4MB → 0.2MB (8.1x), 12 JPEGs deleted
2026-04-13T16:25:58.878568Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-30T13:25:58.878557+00:00 (14d retention)
2026-04-13T16:30:01.824636Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 135 eligible frames
2026-04-13T16:30:07.34...
|
NULL
|
|
8771
|
NULL
|
0
|
2026-04-14T07:04:52.162421+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150292162_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Activity MonitorFileEditHelpDOCKER (doc• *4": Activity MonitorFileEditHelpDOCKER (doc• *4": "docker-cluster""node.name" : "e802ad473a4f",to [{\"phasel":\"delete\'1d"*"xuh was"vyYk ovakxbo"{"type":"cluster.uu"eLKZaw4040Ct wSLTrA"nent": "O.e.x.i.IndexLifecycleTransition","cluster. nameoocker-cluster"e802ad473a4f"messode"cluster.uuid":ancticcanrehocker-cluster"[O]]1).","8uhZw1CUSGyWYR_OvaKx6g","node.id":"e2ZKzgw4Q4aCf2w51jWr1A""timestamp": 2026-04-14107:04:30,6042*"cluster.name": "daun wkusnurir ovokxoo"node.1o'eXKOW40401W9L1YNANKLoanokibana'@timestamp":"2026-04-14T07:04:48Z""@timestamp": "2026-04-14T07:04:48Z","tags": ["warning", "config", "deprecation"], "pid":6, "message": "Config key [monitoring.cluster_alerts.email_notificaticKlband{"type"ons.email_address]will beemail notifications to work in 8.0.\':"log" "@timestamp":"2026-04-14T07:04:48Z", "tags":["info"."plugins-system"],"pid":6, "message":"Setting up [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders, code,usageCollection,xpackLegacy, telemetryCollectionMainager, telemetry, telemetryCollectionXpack, kibanaUsageCollecti.on.securttvoss.newsteea.madsLeaacv.k1banaLeaacv.trans.at.ons.snare.Leaacvexbort.embeaaao.e.ulacti.onsEnnancea.exoresst.ons.aata.nome.ooservabiltv.cloua.console, consoleExtensions,apmOss, searchprofiler,painlessLab,grokdebugger,management, indexPatternManagement, advancedSettings, fileUpload, saved0bjects, dashboard,visualizations, visTypeTimelion,timelion,features,upgradeAssistant, security,snapshotRestore, enterpriseSearch, encryptedSaved0bjects, ingestManager, indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement, transform, ingestPipelines,maps, licenseManagement,graph, dataEnhanced, visTypeVega,visTypeTable,visTypeMarkdown, ti leMap, regionMap, inputControlVis, visualize, esUiShared, charts, lens, visTypeTagcloud, visTypeVislib, visTypemesertes, rot tup, vistypemetruc, watcner, auscover, auscoverennancea, saveaod jectsmanagement, spaces, reporting, lists, eventlog, actions, case, aLerts, stackaLerts, trggersActionsUi,ml, securitySolution, infra,monitoring, logstash, apm, uptime, bfetch, canvas]"}Keloonesuvoe.L00"@timestamp":"2026-04-14T07:04:49Z" , "tags" : ["warning"To prevent sessionsrestart,":"2026-04-14T07:04:497"Tnis 1s"Cyoe.\"Ol""Kihanatkibana1s oelnolin kibana.yxpack.reporting.capture.browser.chromiuKloana. yml.aun wruusnurtk ovokxookibana1 {"type": "log"§ View Config M Enable Watch"cluster."cluster.uuid"plugins", "monitoring", "monitoring", "kibana-monitoring"], "pid" :6, "message"Activity MonitorProcess NameVintual Machine service tor DockelVirtual Machine Service for ClaudeFirefoxCP Isolated Web ContentBrowser Helper (Renderer)Claude Helper (RendererFirefox GPU Helpere FirefoxPostman Helper (Renderer)rirerox cru helpelSlack Helper (Renderer)• FirefoxNotion Helper (Renderer)notion ualeneat helper nenderetBrowser Helpen• FirefoxCP Isolated Web ContentFiretoxcP Isolated Web Contentcursoruiviewservice Not kesponaineclaude• DiaiTerm2code Helper (kenderer)Code Helper (Renderer)• FirefoxCP Isolated Web Contentrireroxer isolated weo contentPostmanFirefoxCP Isolated Web ContentNotion calendar Helper (Gru)Browser Helper (Renderer)kernel_taskCode Helper (GPU)FirefoxCP Isolated Web ContentBrowser HelperFirefoxCP WebExtensionswisor rlow melper oruClaude HelperkaycastDockersltwarden Helper (kendererCodeWispr Flow Helper (Renderer)Wispr FlowBrowser Helper (Renderer)screenpipeC: FinderCleanShatXMem..3,95 GB1,85 GB976,6 MB759,2 MB711,4 MB707./ MB620,1 MBD0L0Mb527,7 MB510,0 MB477,8 MB472,8 MB468,4 MB457,6 MB397.1M3368,3 MB357,4 MB341,1 MB309,1 MB299,9 MB292,0 MB288,8 MB259,6 MB263.6M3234,6 MB234,5 MB233,9 MB233,2 MB203,7 MB190,5 MB172,4 MB170,4 MB169.1 M3157,5 MB1539 M3151,6 MB149,6 MB148,0 MB142,3 MB141,7 MB137,8 MB1347 MB134,2 MB1378 M3132,3 MB131.9 MB125,6 MB118,0 Mb113,2 MB111,9 MBThreads50534203MEMORY PRESSURElobl| Daily - Platform • 1m leftA100% CS•8 • Tue 14 Apr 10:04:51CPUtheroyNetworkQ SearchPorts10 943124463217236/0/2861757483233321211229 5037841232171280125123825119549156120153207476117224198532589185620558538174558Memory3027453868407147002708325178019801442547146732427314664114826548269712677328931269998425091026965487863946238282461479125012780042531303263147526534271355629726456270088043381325113884229687260685627938373800270892705324377743DiskUserlukas_WindowserveruKaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukasukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukasukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukasPhysical Memory:Memory usedSwap Used:16,00 GB14,09 GB <1.87G34,54 GBApp Memory:Wired Memory:Comoressec:3,33 GB2,76 GB7,45 CB...
|
NULL
|
6123896101412907799
|
NULL
|
idle
|
ocr
|
NULL
|
Activity MonitorFileEditHelpDOCKER (doc• *4": Activity MonitorFileEditHelpDOCKER (doc• *4": "docker-cluster""node.name" : "e802ad473a4f",to [{\"phasel":\"delete\'1d"*"xuh was"vyYk ovakxbo"{"type":"cluster.uu"eLKZaw4040Ct wSLTrA"nent": "O.e.x.i.IndexLifecycleTransition","cluster. nameoocker-cluster"e802ad473a4f"messode"cluster.uuid":ancticcanrehocker-cluster"[O]]1).","8uhZw1CUSGyWYR_OvaKx6g","node.id":"e2ZKzgw4Q4aCf2w51jWr1A""timestamp": 2026-04-14107:04:30,6042*"cluster.name": "daun wkusnurir ovokxoo"node.1o'eXKOW40401W9L1YNANKLoanokibana'@timestamp":"2026-04-14T07:04:48Z""@timestamp": "2026-04-14T07:04:48Z","tags": ["warning", "config", "deprecation"], "pid":6, "message": "Config key [monitoring.cluster_alerts.email_notificaticKlband{"type"ons.email_address]will beemail notifications to work in 8.0.\':"log" "@timestamp":"2026-04-14T07:04:48Z", "tags":["info"."plugins-system"],"pid":6, "message":"Setting up [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders, code,usageCollection,xpackLegacy, telemetryCollectionMainager, telemetry, telemetryCollectionXpack, kibanaUsageCollecti.on.securttvoss.newsteea.madsLeaacv.k1banaLeaacv.trans.at.ons.snare.Leaacvexbort.embeaaao.e.ulacti.onsEnnancea.exoresst.ons.aata.nome.ooservabiltv.cloua.console, consoleExtensions,apmOss, searchprofiler,painlessLab,grokdebugger,management, indexPatternManagement, advancedSettings, fileUpload, saved0bjects, dashboard,visualizations, visTypeTimelion,timelion,features,upgradeAssistant, security,snapshotRestore, enterpriseSearch, encryptedSaved0bjects, ingestManager, indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement, transform, ingestPipelines,maps, licenseManagement,graph, dataEnhanced, visTypeVega,visTypeTable,visTypeMarkdown, ti leMap, regionMap, inputControlVis, visualize, esUiShared, charts, lens, visTypeTagcloud, visTypeVislib, visTypemesertes, rot tup, vistypemetruc, watcner, auscover, auscoverennancea, saveaod jectsmanagement, spaces, reporting, lists, eventlog, actions, case, aLerts, stackaLerts, trggersActionsUi,ml, securitySolution, infra,monitoring, logstash, apm, uptime, bfetch, canvas]"}Keloonesuvoe.L00"@timestamp":"2026-04-14T07:04:49Z" , "tags" : ["warning"To prevent sessionsrestart,":"2026-04-14T07:04:497"Tnis 1s"Cyoe.\"Ol""Kihanatkibana1s oelnolin kibana.yxpack.reporting.capture.browser.chromiuKloana. yml.aun wruusnurtk ovokxookibana1 {"type": "log"§ View Config M Enable Watch"cluster."cluster.uuid"plugins", "monitoring", "monitoring", "kibana-monitoring"], "pid" :6, "message"Activity MonitorProcess NameVintual Machine service tor DockelVirtual Machine Service for ClaudeFirefoxCP Isolated Web ContentBrowser Helper (Renderer)Claude Helper (RendererFirefox GPU Helpere FirefoxPostman Helper (Renderer)rirerox cru helpelSlack Helper (Renderer)• FirefoxNotion Helper (Renderer)notion ualeneat helper nenderetBrowser Helpen• FirefoxCP Isolated Web ContentFiretoxcP Isolated Web Contentcursoruiviewservice Not kesponaineclaude• DiaiTerm2code Helper (kenderer)Code Helper (Renderer)• FirefoxCP Isolated Web Contentrireroxer isolated weo contentPostmanFirefoxCP Isolated Web ContentNotion calendar Helper (Gru)Browser Helper (Renderer)kernel_taskCode Helper (GPU)FirefoxCP Isolated Web ContentBrowser HelperFirefoxCP WebExtensionswisor rlow melper oruClaude HelperkaycastDockersltwarden Helper (kendererCodeWispr Flow Helper (Renderer)Wispr FlowBrowser Helper (Renderer)screenpipeC: FinderCleanShatXMem..3,95 GB1,85 GB976,6 MB759,2 MB711,4 MB707./ MB620,1 MBD0L0Mb527,7 MB510,0 MB477,8 MB472,8 MB468,4 MB457,6 MB397.1M3368,3 MB357,4 MB341,1 MB309,1 MB299,9 MB292,0 MB288,8 MB259,6 MB263.6M3234,6 MB234,5 MB233,9 MB233,2 MB203,7 MB190,5 MB172,4 MB170,4 MB169.1 M3157,5 MB1539 M3151,6 MB149,6 MB148,0 MB142,3 MB141,7 MB137,8 MB1347 MB134,2 MB1378 M3132,3 MB131.9 MB125,6 MB118,0 Mb113,2 MB111,9 MBThreads50534203MEMORY PRESSURElobl| Daily - Platform • 1m leftA100% CS•8 • Tue 14 Apr 10:04:51CPUtheroyNetworkQ SearchPorts10 943124463217236/0/2861757483233321211229 5037841232171280125123825119549156120153207476117224198532589185620558538174558Memory3027453868407147002708325178019801442547146732427314664114826548269712677328931269998425091026965487863946238282461479125012780042531303263147526534271355629726456270088043381325113884229687260685627938373800270892705324377743DiskUserlukas_WindowserveruKaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukasukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukasukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukasPhysical Memory:Memory usedSwap Used:16,00 GB14,09 GB <1.87G34,54 GBApp Memory:Wired Memory:Comoressec:3,33 GB2,76 GB7,45 CB...
|
8766
|
|
8774
|
NULL
|
0
|
2026-04-14T07:04:59.513738+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150299513_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Activity MonitorFilelEditViewWindowHelpmeet.google Activity MonitorFilelEditViewWindowHelpmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)Daily - Platform - 1 m left100% <28 • Tue 14 Apr 10:04:59Chat8•Platform TeamREADY FOR DEVS2 PlattormSкD-67F7 (SRD-6:C Jy192917 ServiceIr Font AmO COMIChttps://fiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-205530 ProjectsE3 SSHEl Dutadog* Claude800$ 3-20285 / A JY-20553ommenHistoryWork logAdd a comment.Suggest a reply..Status update..tnanks.Pro tip: press (M to commentConsider this has helped for the drop from 19 to 6 H : https://github.com/jiminny/app/pull/11796 [Connect youTikoleykoie9 Aors 2026 ar 1670Spent in Sprint: 1 dayMore investigation needed.E (Draft) Debug crm-sync long jobsPossible worker outage starting at 22:00 UTC on 2026-03-24:bitps:l/us-0ast-2.consois.aws.amaz00.com/cloudwatch/home?reg/oneuf=tast:28atate-hashAr9s%2.3:091/2%3Al09:9CQUR3%2F109:9CQU0%2Eworker-mars%2Fl09:9x9nts%2Eworker:mars%24252Eworker:mars.%24252Fb67951a304304b0ba63bc50134c312ab%243Estat%243D1713233284838%2426cefEventid%243D38206378953043950457632531884542347959970886121910829064#i09sV2:l09s:O ActionsC C: Dep@ Actions• DependFoc DecO CircieciSentryD Tusts|7 insights & Coachin.D Dev• [EMAIL] Devvs amprove storyDetailsnasleneeNikolay NikolorAssioin to moKeort8 Stefka StoyanovaQuick start developmentLink this work item to your codeby including keys when creatingeoranen, comas or po100005500uт, LeeEsDismissQ Open with VS CodeIJ Create branch4 Create commitwowpononPlatformSub-ProductAdd optionsAl Bookmarks10:04 AM | Daily - PlatformGroup: QueriesDEPLOY &Fix cohinitme ouring toSUPPORT TICKETSXE -20565 15 4 •.**=AI Review - Q1GROWTH - MAINTAIN OUR COMPE.Deployed_10082 |1 0 ..** =No such column "Type' onentity 'Event"Deployed©-20384 05 11 ****=|Missed deletion of stale0-2000 1 *=[Pipedrive) DI > status notlabeled, date data missingД -20614 05 01 ****= |:Stefka StoyanovaNikolay YankovSteliyan GeorgievNikolay IvanovAneliya Angelova19:34Lukas Kovalik...
|
NULL
|
-6431904343999060141
|
NULL
|
visual_change
|
ocr
|
NULL
|
Activity MonitorFilelEditViewWindowHelpmeet.google Activity MonitorFilelEditViewWindowHelpmeet.google.com / Daily - PlatformNikolay Yankov (Presenting)Daily - Platform - 1 m left100% <28 • Tue 14 Apr 10:04:59Chat8•Platform TeamREADY FOR DEVS2 PlattormSкD-67F7 (SRD-6:C Jy192917 ServiceIr Font AmO COMIChttps://fiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-205530 ProjectsE3 SSHEl Dutadog* Claude800$ 3-20285 / A JY-20553ommenHistoryWork logAdd a comment.Suggest a reply..Status update..tnanks.Pro tip: press (M to commentConsider this has helped for the drop from 19 to 6 H : https://github.com/jiminny/app/pull/11796 [Connect youTikoleykoie9 Aors 2026 ar 1670Spent in Sprint: 1 dayMore investigation needed.E (Draft) Debug crm-sync long jobsPossible worker outage starting at 22:00 UTC on 2026-03-24:bitps:l/us-0ast-2.consois.aws.amaz00.com/cloudwatch/home?reg/oneuf=tast:28atate-hashAr9s%2.3:091/2%3Al09:9CQUR3%2F109:9CQU0%2Eworker-mars%2Fl09:9x9nts%2Eworker:mars%24252Eworker:mars.%24252Fb67951a304304b0ba63bc50134c312ab%243Estat%243D1713233284838%2426cefEventid%243D38206378953043950457632531884542347959970886121910829064#i09sV2:l09s:O ActionsC C: Dep@ Actions• DependFoc DecO CircieciSentryD Tusts|7 insights & Coachin.D Dev• [EMAIL] Devvs amprove storyDetailsnasleneeNikolay NikolorAssioin to moKeort8 Stefka StoyanovaQuick start developmentLink this work item to your codeby including keys when creatingeoranen, comas or po100005500uт, LeeEsDismissQ Open with VS CodeIJ Create branch4 Create commitwowpononPlatformSub-ProductAdd optionsAl Bookmarks10:04 AM | Daily - PlatformGroup: QueriesDEPLOY &Fix cohinitme ouring toSUPPORT TICKETSXE -20565 15 4 •.**=AI Review - Q1GROWTH - MAINTAIN OUR COMPE.Deployed_10082 |1 0 ..** =No such column "Type' onentity 'Event"Deployed©-20384 05 11 ****=|Missed deletion of stale0-2000 1 *=[Pipedrive) DI > status notlabeled, date data missingД -20614 05 01 ****= |:Stefka StoyanovaNikolay YankovSteliyan GeorgievNikolay IvanovAneliya Angelova19:34Lukas Kovalik...
|
8773
|
|
8775
|
170
|
0
|
2026-04-14T07:05:20.712613+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150320712_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
14,06 GB
Ca Physical Memory:
16,00 GB
Memory Used:
14,06 GB
Cached Files:
1,87 GB
Swap Used:
4,74 GB
3,22 GB
Wired Memory:
Compressed:
2,82 GB
7,48 GB
App Memory:
MEMORY PRESSURE
Virtual Machine Service for Docker
4,00 GB
24
86
30274
lukas
Virtual Machine Service for Claude
1,85 GB
20
79
53868
lukas
WindowServer
981,2 MB
21
10 938
407
_windowserver
FirefoxCP Isolated Web Content
759,2 MB
23
122
14700
lukas
Browser Helper (Renderer)
709,0 MB
42
445
27083
lukas
Claude Helper (Renderer)
707,7 MB
15
217
2517
lukas
Firefox GPU Helper
619,9 MB
30
238
8019
lukas
Firefox
552,4 MB
72
703
8014
lukas
Postman Helper (Renderer)
527,7 MB
25
286
42547
lukas
Firefox GPU Helper
510,0 MB
26
226
14673
lukas
Slack Helper (Renderer)
477,4 MB
15
161
24273
lukas
Notion Helper (Renderer)
473,1 MB
20
321
1148...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.85833335,"top":0.0,"width":0.05625,"height":0.015555556},"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"14,06 GB","depth":3,"bounds":{"left":0.9409722,"top":0.0,"width":0.038194444,"height":0.015555556},"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.85833335,"top":0.0,"width":0.052083332,"height":0.015555556},"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"1,87 GB","depth":3,"bounds":{"left":0.9458333,"top":0.0,"width":0.033333335,"height":0.015555556},"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.85833335,"top":0.0,"width":0.046527777,"height":0.015555556},"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"4,74 GB","depth":3,"bounds":{"left":0.9458333,"top":0.0,"width":0.033333335,"height":0.015555556},"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,22 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.079861164,"height":0.015555556},"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":0.9930556,"top":0.0,"width":0.006944418,"height":0.015555556},"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":0.9930556,"top":0.0,"width":0.006944418,"height":0.015555556},"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"2,82 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.079861164,"height":0.015555556},"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"7,48 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.079861164,"height":0.015555556},"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":0.9930556,"top":0.0,"width":0.006944418,"height":0.015555556},"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"Virtual Machine Service for Docker","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"4,00 GB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"86","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"30274","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Virtual Machine Service for Claude","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,85 GB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"79","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"53868","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"981,2 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"10 938","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"407","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"759,2 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"122","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"14700","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Browser Helper (Renderer)","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"709,0 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"42","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"445","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27083","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Claude Helper (Renderer)","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"707,7 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"15","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"217","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"2517","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"619,9 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"30","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"238","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"8019","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"552,4 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"72","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"703","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"8014","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman Helper (Renderer)","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"527,7 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"286","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"42547","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"510,0 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"226","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"14673","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"477,4 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"15","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"161","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24273","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Helper (Renderer)","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"473,1 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"321","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1148","depth":5,"automation_id":"_NS:9","role_description":"text"}]...
|
6322147642967662582
|
851464518117307281
|
visual_change
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
14,06 GB
Ca Physical Memory:
16,00 GB
Memory Used:
14,06 GB
Cached Files:
1,87 GB
Swap Used:
4,74 GB
3,22 GB
Wired Memory:
Compressed:
2,82 GB
7,48 GB
App Memory:
MEMORY PRESSURE
Virtual Machine Service for Docker
4,00 GB
24
86
30274
lukas
Virtual Machine Service for Claude
1,85 GB
20
79
53868
lukas
WindowServer
981,2 MB
21
10 938
407
_windowserver
FirefoxCP Isolated Web Content
759,2 MB
23
122
14700
lukas
Browser Helper (Renderer)
709,0 MB
42
445
27083
lukas
Claude Helper (Renderer)
707,7 MB
15
217
2517
lukas
Firefox GPU Helper
619,9 MB
30
238
8019
lukas
Firefox
552,4 MB
72
703
8014
lukas
Postman Helper (Renderer)
527,7 MB
25
286
42547
lukas
Firefox GPU Helper
510,0 MB
26
226
14673
lukas
Slack Helper (Renderer)
477,4 MB
15
161
24273
lukas
Notion Helper (Renderer)
473,1 MB
20
321
1148...
|
NULL
|
|
8776
|
171
|
0
|
2026-04-14T07:05:23.469939+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150323469_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
14,10 GB
Ca Physical Memory:
16,00 GB
Memory Used:
14,10 GB
Cached Files:
1,85 GB
Swap Used:
4,74 GB
3,32 GB
Wired Memory:
Compressed:
2,80 GB
7,42 GB
App Memory:
MEMORY PRESSURE
Virtual Machine Service for Docker
4,01 GB
24
86
30274
lukas
Virtual Machine Service for Claude
1,85 GB
19
78
53868
lukas
WindowServer
980,0 MB
22
10 940
407
_windowserver
FirefoxCP Isolated Web Content
759,2 MB
23
122
14700
lukas
Browser Helper (Renderer)
711,1 MB
42
445
27083
lukas
Claude Helper (Renderer)
707,7 MB
15
217
2517
lukas
Firefox GPU Helper
620,1 MB
30
238
8019
lukas
Firefox
552,7 MB
75
708
8014
lukas
Postman Helper (Renderer)
527,7 MB
25
286
42547
lukas
Firefox GPU Helper
510,0 MB
27
227
14673
lukas
Slack Helper (Renderer)
477,4 MB
15
161...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"bounds":{"left":0.71601564,"top":0.93333334,"width":0.037890624,"height":0.009722223},"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"bounds":{"left":0.7625,"top":0.93333334,"width":0.021484375,"height":0.009722223},"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.71601564,"top":0.94722223,"width":0.031640626,"height":0.009722223},"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"14,10 GB","depth":3,"bounds":{"left":0.7625,"top":0.94722223,"width":0.021484375,"height":0.009722223},"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.71601564,"top":0.9611111,"width":0.029296875,"height":0.009722223},"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"1,85 GB","depth":3,"bounds":{"left":0.76523435,"top":0.9611111,"width":0.01875,"height":0.009722223},"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.71601564,"top":0.975,"width":0.026171874,"height":0.009722223},"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"4,74 GB","depth":3,"bounds":{"left":0.76523435,"top":0.975,"width":0.01875,"height":0.009722223},"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,32 GB","depth":3,"bounds":{"left":0.840625,"top":0.94166666,"width":0.01875,"height":0.009722223},"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":0.79179686,"top":0.95416665,"width":0.0328125,"height":0.009722223},"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":0.79179686,"top":0.96666664,"width":0.02890625,"height":0.009722223},"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"2,80 GB","depth":3,"bounds":{"left":0.840625,"top":0.95416665,"width":0.01875,"height":0.009722223},"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"7,42 GB","depth":3,"bounds":{"left":0.840625,"top":0.96666664,"width":0.01875,"height":0.009722223},"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":0.79179686,"top":0.94166666,"width":0.029296875,"height":0.009722223},"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"bounds":{"left":0.63671875,"top":0.93194443,"width":0.07539062,"height":0.0125},"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"Virtual Machine Service for Docker","depth":5,"bounds":{"left":0.5191406,"top":0.079166666,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"4,01 GB","depth":5,"bounds":{"left":0.62421876,"top":0.079166666,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"bounds":{"left":0.65585935,"top":0.079166666,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"86","depth":5,"bounds":{"left":0.6859375,"top":0.079166666,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"30274","depth":5,"bounds":{"left":0.71132815,"top":0.079166666,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.079166666,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Virtual Machine Service for Claude","depth":5,"bounds":{"left":0.5191406,"top":0.09583333,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,85 GB","depth":5,"bounds":{"left":0.62421876,"top":0.09583333,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"19","depth":5,"bounds":{"left":0.65585935,"top":0.09583333,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78","depth":5,"bounds":{"left":0.6859375,"top":0.09583333,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"53868","depth":5,"bounds":{"left":0.71132815,"top":0.09583333,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.09583333,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5191406,"top":0.1125,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"980,0 MB","depth":5,"bounds":{"left":0.62421876,"top":0.1125,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22","depth":5,"bounds":{"left":0.65585935,"top":0.1125,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"10 940","depth":5,"bounds":{"left":0.6859375,"top":0.1125,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"407","depth":5,"bounds":{"left":0.71132815,"top":0.1125,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.73359376,"top":0.1125,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5191406,"top":0.12916666,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"759,2 MB","depth":5,"bounds":{"left":0.62421876,"top":0.12916666,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"bounds":{"left":0.65585935,"top":0.12916666,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"122","depth":5,"bounds":{"left":0.6859375,"top":0.12916666,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"14700","depth":5,"bounds":{"left":0.71132815,"top":0.12916666,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.12916666,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Browser Helper (Renderer)","depth":5,"bounds":{"left":0.5191406,"top":0.14583333,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"711,1 MB","depth":5,"bounds":{"left":0.62421876,"top":0.14583333,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"42","depth":5,"bounds":{"left":0.65585935,"top":0.14583333,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"445","depth":5,"bounds":{"left":0.6859375,"top":0.14583333,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27083","depth":5,"bounds":{"left":0.71132815,"top":0.14583333,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.14583333,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Claude Helper (Renderer)","depth":5,"bounds":{"left":0.5191406,"top":0.1625,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"707,7 MB","depth":5,"bounds":{"left":0.62421876,"top":0.1625,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"15","depth":5,"bounds":{"left":0.65585935,"top":0.1625,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"217","depth":5,"bounds":{"left":0.6859375,"top":0.1625,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"2517","depth":5,"bounds":{"left":0.71132815,"top":0.1625,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.1625,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5191406,"top":0.17916666,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"620,1 MB","depth":5,"bounds":{"left":0.62421876,"top":0.17916666,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"30","depth":5,"bounds":{"left":0.65585935,"top":0.17916666,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"238","depth":5,"bounds":{"left":0.6859375,"top":0.17916666,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"8019","depth":5,"bounds":{"left":0.71132815,"top":0.17916666,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.17916666,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5191406,"top":0.19583334,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"552,7 MB","depth":5,"bounds":{"left":0.62421876,"top":0.19583334,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"75","depth":5,"bounds":{"left":0.65585935,"top":0.19583334,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"708","depth":5,"bounds":{"left":0.6859375,"top":0.19583334,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"8014","depth":5,"bounds":{"left":0.71132815,"top":0.19583334,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.19583334,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman Helper (Renderer)","depth":5,"bounds":{"left":0.5191406,"top":0.2125,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"527,7 MB","depth":5,"bounds":{"left":0.62421876,"top":0.2125,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.65585935,"top":0.2125,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"286","depth":5,"bounds":{"left":0.6859375,"top":0.2125,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"42547","depth":5,"bounds":{"left":0.71132815,"top":0.2125,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.2125,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5191406,"top":0.22916667,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"510,0 MB","depth":5,"bounds":{"left":0.62421876,"top":0.22916667,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27","depth":5,"bounds":{"left":0.65585935,"top":0.22916667,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"227","depth":5,"bounds":{"left":0.6859375,"top":0.22916667,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"14673","depth":5,"bounds":{"left":0.71132815,"top":0.22916667,"width":0.015625,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.73359376,"top":0.22916667,"width":0.03125,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"bounds":{"left":0.5191406,"top":0.24583334,"width":0.0984375,"height":0.009722223},"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"477,4 MB","depth":5,"bounds":{"left":0.62421876,"top":0.24583334,"width":0.025,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"15","depth":5,"bounds":{"left":0.65585935,"top":0.24583334,"width":0.0234375,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"161","depth":5,"bounds":{"left":0.6859375,"top":0.24583334,"width":0.01875,"height":0.009722223},"automation_id":"_NS:9","role_description":"text"}]...
|
-8969610133239496947
|
707418442507530245
|
idle
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
14,10 GB
Ca Physical Memory:
16,00 GB
Memory Used:
14,10 GB
Cached Files:
1,85 GB
Swap Used:
4,74 GB
3,32 GB
Wired Memory:
Compressed:
2,80 GB
7,42 GB
App Memory:
MEMORY PRESSURE
Virtual Machine Service for Docker
4,01 GB
24
86
30274
lukas
Virtual Machine Service for Claude
1,85 GB
19
78
53868
lukas
WindowServer
980,0 MB
22
10 940
407
_windowserver
FirefoxCP Isolated Web Content
759,2 MB
23
122
14700
lukas
Browser Helper (Renderer)
711,1 MB
42
445
27083
lukas
Claude Helper (Renderer)
707,7 MB
15
217
2517
lukas
Firefox GPU Helper
620,1 MB
30
238
8019
lukas
Firefox
552,7 MB
75
708
8014
lukas
Postman Helper (Renderer)
527,7 MB
25
286
42547
lukas
Firefox GPU Helper
510,0 MB
27
227
14673
lukas
Slack Helper (Renderer)
477,4 MB
15
161...
|
NULL
|
|
8904
|
NULL
|
0
|
2026-04-14T07:10:15.055581+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150615055_m1.jpg...
|
Firefox
|
Jiminny — Work
|
True
|
app.staging.jiminny.com/ai-reports
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
PRO
PRO
Conversation with Gemini
Conversation with Gemini
Hi Lukas
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
Help me learn, button, tap to use tool
Help me learn
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Summarize page
Summarize page
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"PRO","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRO","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukas","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Where should we start?","depth":22,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Where should we start?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🖼️ Create image, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🖼️ Create image","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🎸 Create music, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🎸 Create music","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Write anything, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Write anything","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Boost my day, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boost my day","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help me learn, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help me learn","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY-18909-automated-reports-ask-jiminny ■ 869453","depth":9,"bounds":{"left":0.036805555,"top":0.0,"width":0.20972222,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"75","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"75","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"AI Reports","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Reports","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Ask Jiminny reports","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny reports","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Report name","depth":17,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Period","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Report Type Report Type","depth":16,"value":"Report Type Report Type","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Report Type","depth":18,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Report Type","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Clear all","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"NAME","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FREQUENCY","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SHARED","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DATE","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIONS","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ask Jiminny Test Report - 8 Apr 2026","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kamren Schulist","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"09/04/2026","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open Intercom Messenger","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-6530469067082311299
|
1229306830140783634
|
click
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
PRO
PRO
Conversation with Gemini
Conversation with Gemini
Hi Lukas
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
Help me learn, button, tap to use tool
Help me learn
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Summarize page
Summarize page
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
NULL
|
|
8906
|
NULL
|
0
|
2026-04-14T07:10:21.434109+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150621434_m2.jpg...
|
Firefox
|
Jiminny — Work
|
True
|
app.staging.jiminny.com/ai-reports
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"bounds":{"left":0.00234375,"top":0.045138888,"width":0.0890625,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.08263889,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.015625,"top":0.09236111,"width":0.11796875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.11111111,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.12083333,"width":0.23476562,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.13958333,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"bounds":{"left":0.015625,"top":0.14930555,"width":0.1984375,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.16805555,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.015625,"top":0.17777778,"width":0.015625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.07890625,"top":0.17430556,"width":0.009375,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":4,"bounds":{"left":0.0,"top":0.19652778,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":5,"bounds":{"left":0.015625,"top":0.20625,"width":0.1640625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"bounds":{"left":0.0,"top":0.225,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"bounds":{"left":0.015625,"top":0.23472223,"width":0.12617187,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.003125,"top":0.25486112,"width":0.08710937,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.003125,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.01640625,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.029296875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0421875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.05546875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909-automated-reports-ask-jiminny ■ 869453","depth":9,"bounds":{"left":0.09453125,"top":0.9875,"width":0.11796875,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"75","depth":12,"bounds":{"left":0.096875,"top":0.925,"width":0.01875,"height":0.030555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"75","depth":14,"bounds":{"left":0.10664062,"top":0.9284722,"width":0.00546875,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"AI Reports","depth":13,"bounds":{"left":0.128125,"top":0.060416665,"width":0.037109375,"height":0.017361112},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Reports","depth":14,"bounds":{"left":0.128125,"top":0.060416665,"width":0.037109375,"height":0.017361112},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Ask Jiminny reports","depth":13,"bounds":{"left":0.92109376,"top":0.05625,"width":0.06992187,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny reports","depth":14,"bounds":{"left":0.93710935,"top":0.063194446,"width":0.0484375,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Report name","depth":17,"bounds":{"left":0.14335938,"top":0.09513889,"width":0.06796875,"height":0.017361112},"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Period","depth":20,"bounds":{"left":0.23476562,"top":0.1,"width":0.015234375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Report Type Report Type","depth":16,"bounds":{"left":0.31679687,"top":0.09513889,"width":0.07773437,"height":0.017361112},"value":"Report Type Report Type","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Report Type","depth":18,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Report Type","depth":19,"bounds":{"left":0.31679687,"top":0.09861111,"width":0.027734375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Clear all","depth":13,"bounds":{"left":0.40195313,"top":0.09791667,"width":0.03359375,"height":0.013888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"NAME","depth":16,"bounds":{"left":0.12773438,"top":0.14444445,"width":0.015234375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FREQUENCY","depth":16,"bounds":{"left":0.50039065,"top":0.14444445,"width":0.030859375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SHARED","depth":16,"bounds":{"left":0.625,"top":0.14444445,"width":0.0203125,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DATE","depth":16,"bounds":{"left":0.74921876,"top":0.14444445,"width":0.012890625,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIONS","depth":16,"bounds":{"left":0.8734375,"top":0.14444445,"width":0.022265624,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ask Jiminny Test Report - 8 Apr 2026","depth":17,"bounds":{"left":0.14335938,"top":0.18472221,"width":0.091796875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily","depth":17,"bounds":{"left":0.50039065,"top":0.18472221,"width":0.012109375,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kamren Schulist","depth":18,"bounds":{"left":0.6421875,"top":0.17916666,"width":0.01953125,"height":0.02638889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"09/04/2026","depth":17,"bounds":{"left":0.74921876,"top":0.18472221,"width":0.028125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open Intercom Messenger","depth":7,"bounds":{"left":0.97382814,"top":0.9527778,"width":0.01875,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
6778409979359956321
|
368019790960327830
|
visual_change
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
NULL
|
|
8907
|
172
|
0
|
2026-04-14T07:10:35.036703+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150635036_m1.jpg...
|
Firefox
|
Jiminny — Work
|
True
|
app.staging.jiminny.com/ai-reports
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909-automated-reports-ask-jiminny ■ 869453","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"75","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"75","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"AI Reports","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Reports","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Ask Jiminny reports","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny reports","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Report name","depth":17,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Period","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Report Type Report Type","depth":16,"value":"Report Type Report Type","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Report Type","depth":18,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Report Type","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Clear all","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"NAME","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FREQUENCY","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SHARED","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DATE","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIONS","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ask Jiminny Test Report - 8 Apr 2026","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kamren Schulist","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"09/04/2026","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open Intercom Messenger","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
6778409979359956321
|
368019790960327830
|
click
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
8904
|
|
8908
|
173
|
0
|
2026-04-14T07:10:35.036699+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150635036_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEoitViewHistoryBookmarks ProfilesToolsW FirefoxFileEoitViewHistoryBookmarks ProfilesToolsWindow Helpapp.staging.liminny.com/ai-reportsC< 40 ll O I SupportDaily- in 4h50m A 100%a & Tue 14 Apr 10:10:34Al ReportsS03 Ask Jiminny reportsPlatform Sprint 1 Q2 - Platform Tea( SRD-6779 | JY-20632 | Unable to |( Jy 19798 evaluation for ai activity8 Jiminny8 Ask Jiminny test report - 8 Apr 20:Service-Desk - Queues - Platform+ New Tab• Report namelPeriodiReport Type@ Clear all [NAME -FREQUENCY +CHAREDDATEYACTIONSAsk Jiminny lest keoort- o Aorzuzo10Daily09/04/2016CopyJY-18909-automated-reports-ask-iiminny = 869453)...
|
NULL
|
6385421373744354293
|
NULL
|
click
|
ocr
|
NULL
|
FirefoxFileEoitViewHistoryBookmarks ProfilesToolsW FirefoxFileEoitViewHistoryBookmarks ProfilesToolsWindow Helpapp.staging.liminny.com/ai-reportsC< 40 ll O I SupportDaily- in 4h50m A 100%a & Tue 14 Apr 10:10:34Al ReportsS03 Ask Jiminny reportsPlatform Sprint 1 Q2 - Platform Tea( SRD-6779 | JY-20632 | Unable to |( Jy 19798 evaluation for ai activity8 Jiminny8 Ask Jiminny test report - 8 Apr 20:Service-Desk - Queues - Platform+ New Tab• Report namelPeriodiReport Type@ Clear all [NAME -FREQUENCY +CHAREDDATEYACTIONSAsk Jiminny lest keoort- o Aorzuzo10Daily09/04/2016CopyJY-18909-automated-reports-ask-iiminny = 869453)...
|
8906
|
|
9034
|
NULL
|
0
|
2026-04-14T07:15:08.399169+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150908399_m2.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T09:44:01+03:00",
"uptime": 1243.255541917,
"fps": 0.254975738544637,
"frames": 317
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T10:12:37+03:00",
"uptime": 2959.307842208,
"fps": 0.[CREDIT_CARD],
"frames": 929
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
887M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
308M /Users/lukas/.screenpipe/data
561M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
18M /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
96K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T09:44:01+03:00\",\n \"uptime\": 1243.255541917,\n \"fps\": 0.254975738544637,\n \"frames\": 317\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T10:12:37+03:00\",\n \"uptime\": 2959.307842208,\n \"fps\": 0.3139247586039762,\n \"frames\": 929\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n887M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n308M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n561M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 18M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n 96K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"value":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T09:44:01+03:00\",\n \"uptime\": 1243.255541917,\n \"fps\": 0.254975738544637,\n \"frames\": 317\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T10:12:37+03:00\",\n \"uptime\": 2959.307842208,\n \"fps\": 0.3139247586039762,\n \"frames\": 929\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n887M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n308M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n561M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 18M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n 96K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.23320313,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.23554687,"top":1.0,"width":0.00625,"height":-0.039583325},"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.30234376,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.3046875,"top":1.0,"width":0.00625,"height":-0.039583325},"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.37148437,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.3738281,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.440625,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.44296876,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5097656,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.5121094,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.57890624,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.58125,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.64804685,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.6503906,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.7171875,"top":1.0,"width":0.06914063,"height":-0.03680551},"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.71953124,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7703125,"top":1.0,"width":0.021875,"height":-0.02013886},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.5078125,"top":1.0,"width":0.012890625,"height":-0.020833373},"role_description":"text"}]...
|
4864177606215980408
|
5684305770668617363
|
click
|
accessibility
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T09:44:01+03:00",
"uptime": 1243.255541917,
"fps": 0.254975738544637,
"frames": 317
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T10:12:37+03:00",
"uptime": 2959.307842208,
"fps": 0.[CREDIT_CARD],
"frames": 929
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
887M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
308M /Users/lukas/.screenpipe/data
561M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
18M /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
96K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
9037
|
NULL
|
0
|
2026-04-14T07:15:31.456800+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150931456_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T09:44:01+03:00",
"uptime": 1243.255541917,
"fps": 0.254975738544637,
"frames": 317
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T10:12:37+03:00",
"uptime": 2959.307842208,
"fps": 0.[CREDIT_CARD],
"frames": 929
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
887M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
308M /Users/lukas/.screenpipe/data
561M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
18M /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
96K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T09:44:01+03:00\",\n \"uptime\": 1243.255541917,\n \"fps\": 0.254975738544637,\n \"frames\": 317\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T10:12:37+03:00\",\n \"uptime\": 2959.307842208,\n \"fps\": 0.3139247586039762,\n \"frames\": 929\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n887M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n308M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n561M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 18M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n 96K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"value":"\"n\": 1,\n \"text_source\": \"ocr\"\n },\n {\n \"app_name\": \"Preview\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"QuickTime Player\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"System Settings\",\n \"n\": 1,\n \"text_source\": \"accessibility\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"hybrid\"\n },\n {\n \"app_name\": \"iTerm2\",\n \"n\": 1,\n \"text_source\": \"ocr\"\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST http://localhost:3030/raw_sql \\\n -H \"Content-Type: application/json\" \\\n -d '{\"query\": \"SELECT COUNT(*) as ocr_rows FROM ocr_text LIMIT 1\"}' \\\n | python3 -m json.tool\n[\n {\n \"ocr_rows\": 2752\n }\n]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20\nzsh: no matches found: COUNT(*)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10\nError: in prepare, incomplete input\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite \"SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;\"\n[{\"app_name\":\"Boosteroid\",\"n\":1301},\n{\"app_name\":\"iTerm2\",\"n\":581},\n{\"app_name\":\"Firefox\",\"n\":338},\n{\"app_name\":\"Claude\",\"n\":173},\n{\"app_name\":\"Code\",\"n\":35},\n{\"app_name\":\"Dia\",\"n\":31},\n{\"app_name\":\"Alfred\",\"n\":24},\n{\"app_name\":\"Safari\",\"n\":20},\n{\"app_name\":\"Finder\",\"n\":19},\n{\"app_name\":\"QuickTime Player\",\"n\":16},\n{\"app_name\":\"UserNotificationCenter\",\"n\":4},\n{\"app_name\":\"Activity Monitor\",\"n\":4},\n{\"app_name\":\"NetAuthAgent\",\"n\":3},\n{\"app_name\":\"Control Centre\",\"n\":3},\n{\"app_name\":\"Slack\",\"n\":2},\n{\"app_name\":\"Raycast\",\"n\":2},\n{\"app_name\":\"System Settings\",\"n\":1},\n{\"app_name\":\"Preview\",\"n\":1}]\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite \"SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;\"\ntimestamp app_name window_name\n-------------------------------- -------- -----------\n2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh \n2026-04-12T13:33:13.963922+00:00 \n2026-04-12T13:33:13.415261+00:00 \n2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh \n2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh \n2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh \n2026-04-12T13:33:05.165254+00:00 Claude Claude \n2026-04-12T13:32:50.425455+00:00 \n2026-04-12T13:32:49.108195+00:00 Claude Claude \n2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-13T15:11:31+03:00\",\n \"uptime\": 19271.640087958,\n \"fps\": 0.11841234008027791,\n \"frames\": 2282\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n256M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n418M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n675M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-12.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 858888\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll\ntotal 0\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data\ndrwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions\n-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .\n233M\u0000\u0000\u0000\t.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.\ndu: /./usr/sbin/authserver: Permission denied\ndu: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /./Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /./Library/Application Support/ApplePushService: Permission denied\ndu: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /./Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /./Library/Application Support/Iru/Quarantine: Permission denied\ndu: /./Library/Application Support/Iru/Cached Items: Permission denied\ndu: /./Library/Trial: Operation not permitted\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*\n 14G\u0000\u0000\u0000\t/Applications\ndu: /Library/Application Support/Apple/ParentalControls/Users: Permission denied\ndu: /Library/Application Support/Apple/AssetCache/Data: Permission denied\ndu: /Library/Application Support/ApplePushService: Permission denied\ndu: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied\ndu: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied\ndu: /Library/Application Support/com.apple.TCC: Operation not permitted\ndu: /Library/Application Support/Iru/Quarantine: Permission denied\ndu: /Library/Application Support/Iru/Cached Items: Permission denied\ndu: /Library/Trial: Operation not permitted\ndu: /Library/Tailscale/files: Permission denied\ndu: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted\ndu: /Library/Caches/com.apple.aneuserd: Operation not permitted\ndu: /Library/Caches/com.apple.iconservices.store: Permission denied\ndu: /Library/Caches/com.apple.aned: Operation not permitted\n5.6G\u0000\u0000\u0000\t/Library\n^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied\n^C\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh * \n 39M\u0000\u0000\u0000\t2026-04-09\n 62M\u0000\u0000\u0000\t2026-04-11\n 57M\u0000\u0000\u0000\t2026-04-12\n 73M\u0000\u0000\u0000\t2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 871176\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\nPassword:\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 14 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nsudo: a password is required\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe \ncp: /Users/lukas/.screenpipe/data/data is a directory (not copied).\ncp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll\ntotal 24\ndrwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11\ndrwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12\ndrwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13\ncp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd .. \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 1022008\ndrwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .\ndrwx------+ 91 lukas staff 2912 13 Apr 17:09 ..\n-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log\n-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log\n-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T09:44:01+03:00\",\n \"uptime\": 1243.255541917,\n \"fps\": 0.254975738544637,\n \"frames\": 317\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-14T10:12:37+03:00\",\n \"uptime\": 2959.307842208,\n \"fps\": 0.3139247586039762,\n \"frames\": 929\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n887M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n308M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n561M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 18M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n 96K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log\n 72K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.12291667,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.12708333,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.24583334,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.25,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.36875,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.37291667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6145833,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.61875,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7375,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.7416667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Unable to access screenpipe activity data (claude)","depth":2,"bounds":{"left":0.86041665,"top":0.05888889,"width":0.12291667,"height":0.026666667},"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.8645833,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
4864177606215980408
|
5684305770668617363
|
visual_change
|
accessibility
|
NULL
|
"n": 1,
"text_source": "n": 1,
"text_source": "ocr"
},
{
"app_name": "Preview",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "QuickTime Player",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "System Settings",
"n": 1,
"text_source": "accessibility"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "hybrid"
},
{
"app_name": "iTerm2",
"n": 1,
"text_source": "ocr"
}
]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s -X POST [URL_WITH_CREDENTIALS] ~ $ sqlite3 -json ~/.screenpipe/db.sqlite SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20
zsh: no matches found: COUNT(*)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10
Error: in prepare, incomplete input
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -json ~/.screenpipe/db.sqlite "SELECT app_name, COUNT(*) as n FROM frames WHERE app_name != '' GROUP BY app_name ORDER BY n DESC LIMIT 20;"
[{"app_name":"Boosteroid","n":1301},
{"app_name":"iTerm2","n":581},
{"app_name":"Firefox","n":338},
{"app_name":"Claude","n":173},
{"app_name":"Code","n":35},
{"app_name":"Dia","n":31},
{"app_name":"Alfred","n":24},
{"app_name":"Safari","n":20},
{"app_name":"Finder","n":19},
{"app_name":"QuickTime Player","n":16},
{"app_name":"UserNotificationCenter","n":4},
{"app_name":"Activity Monitor","n":4},
{"app_name":"NetAuthAgent","n":3},
{"app_name":"Control Centre","n":3},
{"app_name":"Slack","n":2},
{"app_name":"Raycast","n":2},
{"app_name":"System Settings","n":1},
{"app_name":"Preview","n":1}]
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 -column -header ~/.screenpipe/db.sqlite "SELECT timestamp, app_name, window_name FROM frames ORDER BY timestamp DESC LIMIT 10;"
timestamp app_name window_name
-------------------------------- -------- -----------
2026-04-12T13:33:14.649009+00:00 iTerm2 -zsh
2026-04-12T13:33:13.963922+00:00
2026-04-12T13:33:13.415261+00:00
2026-04-12T13:33:12.521412+00:00 iTerm2 -zsh
2026-04-12T13:33:09.128387+00:00 iTerm2 -zsh
2026-04-12T13:33:06.137541+00:00 iTerm2 -zsh
2026-04-12T13:33:05.165254+00:00 Claude Claude
2026-04-12T13:32:50.425455+00:00
2026-04-12T13:32:49.108195+00:00 Claude Claude
2026-04-12T13:32:45.339017+00:00 iTerm2 -zsh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-13T15:11:31+03:00",
"uptime": 19271.640087958,
"fps": 0.11841234008027791,
"frames": 2282
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
256M /Users/lukas/.screenpipe/data
418M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
196K /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
132K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe
675M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log screenpipe.2026-04-12.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 858888
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 1038272 13 Apr 17:10 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29277 13 Apr 17:10 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ll
total 0
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 .
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 ..
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 data
drwxr-xr-x 2 lukas staff 64 9 Apr 20:05 pending-transcriptions
-rw-r--r-- 1 lukas staff 0 11 Apr 15:03 screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 208 lukas staff 6656 13 Apr 17:11 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh .
233M .
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /.
du: /./usr/sbin/authserver: Permission denied
du: /./Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /./Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /./Library/Application Support/ApplePushService: Permission denied
du: /./Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /./Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /./Library/Application Support/com.apple.TCC: Operation not permitted
du: /./Library/Application Support/Iru/Quarantine: Permission denied
du: /./Library/Application Support/Iru/Cached Items: Permission denied
du: /./Library/Trial: Operation not permitted
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh /*
14G /Applications
du: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
du: /Library/Application Support/Apple/AssetCache/Data: Permission denied
du: /Library/Application Support/ApplePushService: Permission denied
du: /Library/Application Support/org.pqrs/tmp/rootonly: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/141.0.7340.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/142.0.7416.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/crx_cache: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/148.0.7730.0/Crashpad: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/143.0.7482.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/140.0.7273.0: Permission denied
du: /Library/Application Support/Google/GoogleUpdater/144.0.7547.0: Permission denied
du: /Library/Application Support/com.apple.TCC: Operation not permitted
du: /Library/Application Support/Iru/Quarantine: Permission denied
du: /Library/Application Support/Iru/Cached Items: Permission denied
du: /Library/Trial: Operation not permitted
du: /Library/Tailscale/files: Permission denied
du: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
du: /Library/Caches/com.apple.aneuserd: Operation not permitted
du: /Library/Caches/com.apple.iconservices.store: Permission denied
du: /Library/Caches/com.apple.aned: Operation not permitted
5.6G /Library
^[[Adu: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
^C
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ du -sh *
39M 2026-04-09
62M 2026-04-11
57M 2026-04-12
73M 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 871176
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 438190080 13 Apr 17:10 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 6575552 13 Apr 17:12 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 29974 13 Apr 17:11 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sudo cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
Password:
[PASSWORD] PICO 5.09 New Buffer
[ Read 14 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
sudo: a password is required
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cp ~/.screenpipe/data/* /Volumes/Test/screenpipe
cp: /Users/lukas/.screenpipe/data/data is a directory (not copied).
cp: /Users/lukas/.screenpipe/data/pending-transcriptions is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ll
total 24
drwxr-xr-x 7 lukas staff 224 13 Apr 15:11 .
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 ..
-rw-r--r--@ 1 lukas staff 8196 9 Apr 20:43 .DS_Store
drwxr-xr-x 14 lukas staff 448 11 Apr 14:53 2026-04-09
drwxr-xr-x 30 lukas staff 960 12 Apr 09:02 2026-04-11
drwxr-xr-x 46 lukas staff 1472 13 Apr 15:13 2026-04-12
drwxr-xr-x 156 lukas staff 4992 13 Apr 17:22 2026-04-13
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp ~/.screenpipe/data/data/2026-04-13 /Volumes/Test/screenpipe/data/2026-04-13
cp: /Users/lukas/.screenpipe/data/data/2026-04-13 is a directory (not copied).
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-09 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-11 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cp -r ~/.screenpipe/data/data/2026-04-12 /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 1022008
drwxr-xr-x 12 lukas staff 384 13 Apr 00:00 .
drwx------+ 91 lukas staff 2912 13 Apr 17:09 ..
-rw-r--r-- 1 lukas staff 270 11 Apr 18:59 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 512241664 13 Apr 19:35 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 Apr 12:11 db.sqlite-shm
-rw-r--r-- 1 lukas staff 9603752 13 Apr 19:38 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 95425 11 Apr 23:14 screenpipe.2026-04-11.0.log
-rw-r--r-- 1 lukas staff 72332 12 Apr 23:55 screenpipe.2026-04-12.0.log
-rw-r--r-- 1 lukas staff 59116 13 Apr 19:37 screenpipe.2026-04-13.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T09:44:01+03:00",
"uptime": 1243.255541917,
"fps": 0.254975738544637,
"frames": 317
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-14T10:12:37+03:00",
"uptime": 2959.307842208,
"fps": 0.[CREDIT_CARD],
"frames": 929
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
887M /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
308M /Users/lukas/.screenpipe/data
561M /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
18M /Users/lukas/.screenpipe/db.sqlite-wal
24K /Users/lukas/.screenpipe/pipes
132K /Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log
96K /Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log
72K /Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log
32K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Unable to access screenpipe activity data (claude)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
9038
|
174
|
0
|
2026-04-14T07:15:43.579010+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150943579_m1.jpg...
|
Slack
|
confusion-clinic (Channel) - Jiminny Inc - Slack
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Adelina Petrova
,
Ilian Kyuchukov
,
Steliyan Georgiev
Adelina Petrova
Galya Dimitrova
Vasil Vasilev
Nikolay Nikolov
Galya Dimitrova
,
Nikolay Nikolov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
,
Nikolay Yankov
Nikolay Yankov
Jira Cloud
Toast
Google Calendar
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Pins
Pins
Workflows
Workflows
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Dave Wilby
Mar 27th at 12:25:01 PM
12:25 PM
left #confusion-clinic.
Jump to date
Zori
Apr 1st at 9:21:20 AM
9:21 AM
Hi team, I have a client that has multiple deals open for the same account. They use HubSpot. What is the priority we use to associate the activity to the right deal?
2 reactions, react with eyes emoji
2
Add reaction…
2 replies
Last reply 13 days ago
View thread
Jump to date
Iliyana Netseva
Apr 6th at 10:29:46 AM
10:29 AM
was added to #confusion-clinic by
Mira
.
Jump to date
Lauren Hudson
Apr 7th at 3:23:59 PM
3:23 PM
Hello all, Lead Venture are asking 'Can you confirm that credit card or payment information is excluded from transcripts.'
I don't believe this is the case, what is our response to this? Is there a workaround we can recommend?
10 replies
Last reply 6 days ago
View thread
Jump to date
Zori
Apr 8th at 11:34:25 AM
11:34 AM
Hi Team, one of my clients has set up a score card on the 3rd of April and they have multiple call of the corresponding activity types since then and yet none of the calls are scored, when I test the score card the testing works and returns a score. The client is Logiwa here are a few screenshots illustrating the issue
4 files
Toggle 4 files
Download all
Screenshot 2026-04-08 at 11.29.23.png
Screenshot 2026-04-08 at 11.29.08.png
Screenshot 2026-04-08 at 11.33.52.png
Screenshot 2026-04-08 at 11.34.07.png
1 reply
6 days ago
View thread
Gabriela Dureva
Apr 8th at 4:15:01 PM
4:15 PM
Hey team, can a single transcript capture two different languages? For example, if a customer’s primary language is Danish and their secondary language is English, but both are spoken during the same call, would the transcript reflect both languages?
3 replies
Last reply 6 days ago
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Jump to date
Gabriela Dureva
Apr 9th at 2:28:39 PM
2:28 PM
Hey team, if a user creates a playlist and shares it with other team members, should those users also be able to add recordings to it? Based on the KB article, I believe the answer is yes. However, a customer flagged that when other users try to add a recording, that playlist does not appear as an option for them. Also, this Playlist doesn't have the Lock/Unlock option which might be important
Screenshot 2026-04-09 at 14.27.59.png
Toggle file
Screenshot 2026-04-09 at 14.27.59.png
Download Screenshot 2026-04-09 at 14.27.59.png
Share file: Screenshot 2026-04-09 at 14.27.59.png
View canvas details
More actions
2 replies
Last reply 5 days ago
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Jump to date
New
Zori
Today at 9:27:04 AM
9:27 AM
Hi team, could we show total minutes watched under Team Insights > Engagement > Listens instead of only a listen count? A client flagged that the current metric is easy to skew because recordings played for just a minute or two still count as listens, which can dilute how meaningful the number is.
1 reply
Today at 9:56 AM
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
loading…
Channel confusion-clinic...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Jiminny Inc","depth":12,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Jiminny (Staging)","depth":12,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add workspaces","depth":12,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":20,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Ilian Kyuchukov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":22,"role_description":"text"},{"role":"AXStaticText","text":",","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Bookmarks","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Bookmarks","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Pins","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Pins","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Workflows","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Workflows","depth":19,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dave Wilby","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Mar 27th at 12:25:01 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:25 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"left #confusion-clinic.","depth":23,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Zori","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 9:21:20 AM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9:21 AM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Hi team, I have a client that has multiple deals open for the same account. They use HubSpot. What is the priority we use to associate the activity to the right deal?","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"2 reactions, react with eyes emoji","depth":24,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2","depth":25,"role_description":"text"},{"role":"AXButton","text":"Add reaction…","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"2 replies","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 13 days ago","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":24,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Iliyana Netseva","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 6th at 10:29:46 AM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:29 AM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"was added to #confusion-clinic by","depth":23,"role_description":"text"},{"role":"AXButton","text":"Mira","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".","depth":23,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lauren Hudson","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 7th at 3:23:59 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:23 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Hello all, Lead Venture are asking 'Can you confirm that credit card or payment information is excluded from transcripts.'","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"I don't believe this is the case, what is our response to this? Is there a workaround we can recommend?","depth":24,"role_description":"text"},{"role":"AXButton","text":"10 replies","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 6 days ago","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":24,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Zori","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 8th at 11:34:25 AM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:34 AM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Hi Team, one of my clients has set up a score card on the 3rd of April and they have multiple call of the corresponding activity types since then and yet none of the calls are scored, when I test the score card the testing works and returns a score. The client is Logiwa here are a few screenshots illustrating the issue","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"4 files","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Toggle 4 files","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Download all","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Screenshot 2026-04-08 at 11.29.23.png","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Screenshot 2026-04-08 at 11.29.08.png","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Screenshot 2026-04-08 at 11.33.52.png","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Screenshot 2026-04-08 at 11.34.07.png","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"1 reply","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6 days ago","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":24,"role_description":"text"},{"role":"AXButton","text":"Gabriela Dureva","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 8th at 4:15:01 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:15 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Hey team, can a single transcript capture two different languages? For example, if a customer’s primary language is Danish and their secondary language is English, but both are spoken during the same call, would the transcript reflect both languages?","depth":24,"role_description":"text"},{"role":"AXButton","text":"3 replies","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 6 days ago","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply to thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Summarize thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Gabriela Dureva","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 2:28:39 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2:28 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Hey team, if a user creates a playlist and shares it with other team members, should those users also be able to add recordings to it? Based on the KB article, I believe the answer is yes. However, a customer flagged that when other users try to add a recording, that playlist does not appear as an option for them. Also, this Playlist doesn't have the Lock/Unlock option which might be important","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Screenshot 2026-04-09 at 14.27.59.png","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Toggle file","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXLink","text":"Screenshot 2026-04-09 at 14.27.59.png","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Download Screenshot 2026-04-09 at 14.27.59.png","depth":27,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share file: Screenshot 2026-04-09 at 14.27.59.png","depth":27,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View canvas details","depth":27,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":27,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"2 replies","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 5 days ago","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply to thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Summarize thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New","depth":22,"role_description":"text"},{"role":"AXButton","text":"Zori","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 9:27:04 AM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9:27 AM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Hi team, could we show total minutes watched under Team Insights > Engagement > Listens instead of only a listen count? A client flagged that the current metric is easy to skew because recordings played for just a minute or two still count as listens, which can dilute how meaningful the number is.","depth":24,"role_description":"text"},{"role":"AXButton","text":"1 reply","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Today at 9:56 AM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"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,"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,"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,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply to thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Summarize thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":23,"value":"","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"loading…","depth":11,"role_description":"text"},{"role":"AXStaticText","text":"Channel confusion-clinic","depth":11,"role_description":"text"}]...
|
-6409208057180388509
|
-6291363646541651688
|
visual_change
|
hybrid
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Adelina Petrova
,
Ilian Kyuchukov
,
Steliyan Georgiev
Adelina Petrova
Galya Dimitrova
Vasil Vasilev
Nikolay Nikolov
Galya Dimitrova
,
Nikolay Nikolov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
,
Nikolay Yankov
Nikolay Yankov
Jira Cloud
Toast
Google Calendar
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Pins
Pins
Workflows
Workflows
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Dave Wilby
Mar 27th at 12:25:01 PM
12:25 PM
left #confusion-clinic.
Jump to date
Zori
Apr 1st at 9:21:20 AM
9:21 AM
Hi team, I have a client that has multiple deals open for the same account. They use HubSpot. What is the priority we use to associate the activity to the right deal?
2 reactions, react with eyes emoji
2
Add reaction…
2 replies
Last reply 13 days ago
View thread
Jump to date
Iliyana Netseva
Apr 6th at 10:29:46 AM
10:29 AM
was added to #confusion-clinic by
Mira
.
Jump to date
Lauren Hudson
Apr 7th at 3:23:59 PM
3:23 PM
Hello all, Lead Venture are asking 'Can you confirm that credit card or payment information is excluded from transcripts.'
I don't believe this is the case, what is our response to this? Is there a workaround we can recommend?
10 replies
Last reply 6 days ago
View thread
Jump to date
Zori
Apr 8th at 11:34:25 AM
11:34 AM
Hi Team, one of my clients has set up a score card on the 3rd of April and they have multiple call of the corresponding activity types since then and yet none of the calls are scored, when I test the score card the testing works and returns a score. The client is Logiwa here are a few screenshots illustrating the issue
4 files
Toggle 4 files
Download all
Screenshot 2026-04-08 at 11.29.23.png
Screenshot 2026-04-08 at 11.29.08.png
Screenshot 2026-04-08 at 11.33.52.png
Screenshot 2026-04-08 at 11.34.07.png
1 reply
6 days ago
View thread
Gabriela Dureva
Apr 8th at 4:15:01 PM
4:15 PM
Hey team, can a single transcript capture two different languages? For example, if a customer’s primary language is Danish and their secondary language is English, but both are spoken during the same call, would the transcript reflect both languages?
3 replies
Last reply 6 days ago
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Jump to date
Gabriela Dureva
Apr 9th at 2:28:39 PM
2:28 PM
Hey team, if a user creates a playlist and shares it with other team members, should those users also be able to add recordings to it? Based on the KB article, I believe the answer is yes. However, a customer flagged that when other users try to add a recording, that playlist does not appear as an option for them. Also, this Playlist doesn't have the Lock/Unlock option which might be important
Screenshot 2026-04-09 at 14.27.59.png
Toggle file
Screenshot 2026-04-09 at 14.27.59.png
Download Screenshot 2026-04-09 at 14.27.59.png
Share file: Screenshot 2026-04-09 at 14.27.59.png
View canvas details
More actions
2 replies
Last reply 5 days ago
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Jump to date
New
Zori
Today at 9:27:04 AM
9:27 AM
Hi team, could we show total minutes watched under Team Insights > Engagement > Listens instead of only a listen count? A client flagged that the current metric is easy to skew because recordings played for just a minute or two still count as listens, which can dilute how meaningful the number is.
1 reply
Today at 9:56 AM
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
loading…
Channel confusion-clinic
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp• 0DOCKER-rw-r--r--• 881DEV (-zsh)882APP (-zsh)83-zsh1lukasstaff1327361lukasstaff9 Apr 21:27 screenpipe.2026-04-09.0.10g95425-rw-r--r--1lukasstaff11 Apr 23:14 screenpipe.2026-04-11.0.10g72332 12 Apr 23:55 screenpipe.2026-04-12.0.10g-rw-r--r--1 lukasstaff59116 13 Apr 19:37 screenpipe.2026-04-13.0.10glukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nano config. jsonlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe $ sp-stopscreenpipe stoppedlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe $ nano config.jsonlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-stopscreenpipe stoppedlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status"sratesst tusathy,"audio_status": "disabled","Last_frame": "2026-04-14T09:44:01+03:00","uptime": 1243.255541917,"fps": 0.254975738544637,"frames": 317}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sp-status{"status": "healthy""frame_status": "ok""audio_status": "disabled","last_frame": "2026-04-14T10:12:37+03:00","uptime": 2959.307842208,"fps": 0.[CREDIT_CARD],"frames": 929}.ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $887M/Users/lukas/.screenpipelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $4.0K/Users/Lukas/.screenpipe/config.json308M/Users/lukas/.screenpipe/data561M/Users/lukas/.screenpipe/db.sqlite64K/Users/lukas/.screenpipe/db.sqlite-shm18M/Users/lukas/.screenpipe/db.sqlite-wal24K/Users/Lukas/.screenpipe/pipes132K/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.10g96K/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log72K/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log72K/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.1og32K/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.loglukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ Udu -sh ~/.screenpipedu -sh ~/.screenpipe/*(ablSupport Daily - in 4h 45 m100% <47-zsh₴4-zsh-zsh886-zshO ₴7Tue 14 Apr 10:15:43T81* Unable to acce...O 88...
|
9037
|
|
9039
|
175
|
0
|
2026-04-14T07:15:43.940985+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776150943940_m2.jpg...
|
Firefox
|
Jiminny — Work
|
True
|
app.staging.jiminny.com/ai-reports
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"bounds":{"left":0.00234375,"top":0.045138888,"width":0.0890625,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.08263889,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.015625,"top":0.09236111,"width":0.11796875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.11111111,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.12083333,"width":0.23476562,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.13958333,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"bounds":{"left":0.015625,"top":0.14930555,"width":0.1984375,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.16805555,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.015625,"top":0.17777778,"width":0.015625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.07890625,"top":0.17430556,"width":0.009375,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":4,"bounds":{"left":0.0,"top":0.19652778,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":5,"bounds":{"left":0.015625,"top":0.20625,"width":0.1640625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"bounds":{"left":0.0,"top":0.225,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"bounds":{"left":0.015625,"top":0.23472223,"width":0.12617187,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.003125,"top":0.25486112,"width":0.08710937,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.003125,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.01640625,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.029296875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0421875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.05546875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-18909-automated-reports-ask-jiminny ■ 869453","depth":9,"bounds":{"left":0.09453125,"top":0.9875,"width":0.11796875,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"75","depth":12,"bounds":{"left":0.096875,"top":0.925,"width":0.01875,"height":0.030555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"75","depth":14,"bounds":{"left":0.10664062,"top":0.9284722,"width":0.00546875,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"AI Reports","depth":13,"bounds":{"left":0.128125,"top":0.060416665,"width":0.037109375,"height":0.017361112},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Reports","depth":14,"bounds":{"left":0.128125,"top":0.060416665,"width":0.037109375,"height":0.017361112},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Ask Jiminny reports","depth":13,"bounds":{"left":0.92109376,"top":0.05625,"width":0.06992187,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny reports","depth":14,"bounds":{"left":0.93710935,"top":0.063194446,"width":0.0484375,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Report name","depth":17,"bounds":{"left":0.14335938,"top":0.09513889,"width":0.06796875,"height":0.017361112},"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Period","depth":20,"bounds":{"left":0.23476562,"top":0.1,"width":0.015234375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Report Type Report Type","depth":16,"bounds":{"left":0.31679687,"top":0.09513889,"width":0.07773437,"height":0.017361112},"value":"Report Type Report Type","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Report Type","depth":18,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Report Type","depth":19,"bounds":{"left":0.31679687,"top":0.09861111,"width":0.027734375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Clear all","depth":13,"bounds":{"left":0.40195313,"top":0.09791667,"width":0.03359375,"height":0.013888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"NAME","depth":16,"bounds":{"left":0.12773438,"top":0.14444445,"width":0.015234375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FREQUENCY","depth":16,"bounds":{"left":0.50039065,"top":0.14444445,"width":0.030859375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SHARED","depth":16,"bounds":{"left":0.625,"top":0.14444445,"width":0.0203125,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DATE","depth":16,"bounds":{"left":0.74921876,"top":0.14444445,"width":0.012890625,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIONS","depth":16,"bounds":{"left":0.8734375,"top":0.14444445,"width":0.022265624,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ask Jiminny Test Report - 8 Apr 2026","depth":17,"bounds":{"left":0.14335938,"top":0.18472221,"width":0.091796875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily","depth":17,"bounds":{"left":0.50039065,"top":0.18472221,"width":0.012109375,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kamren Schulist","depth":19,"bounds":{"left":0.6421875,"top":0.17916666,"width":0.01953125,"height":0.02638889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"09/04/2026","depth":17,"bounds":{"left":0.74921876,"top":0.18472221,"width":0.028125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open Intercom Messenger","depth":7,"bounds":{"left":0.97382814,"top":0.9527778,"width":0.01875,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
6778409979359956321
|
368019790960327830
|
click
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Close tab
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
JY-18909-automated-reports-ask-jiminny ■ 869453
75
75
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
Report Type Report Type
Report Type
Report Type
Clear all
NAME
FREQUENCY
SHARED
DATE
ACTIONS
Ask Jiminny Test Report - 8 Apr 2026
Daily
Kamren Schulist
09/04/2026
Open Intercom Messenger...
|
9034
|
|
9141
|
NULL
|
0
|
2026-04-14T07:20:23.003250+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776151223003_m1.jpg...
|
Firefox
|
JY-20574: panorama pdf add header section by steli JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet — Work...
|
True
|
github.com/jiminny/prophet/pull/467/changes#diff-2 github.com/jiminny/prophet/pull/467/changes#diff-2e5ad92c43aa96cc3a9cef6c6aec998b216f1379c43b1f651013d25e55989312...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
PRO
PRO
Conversation with Gemini
Conversation with Gemini
Hi Lukas
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Help me learn, button, tap to use tool
Help me learn
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Open upload file menu
Tools
Open mode picker
Pro
Send message
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
prophet
prophet
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Issues
Issues
Pull requests (6)
Pull requests
(
6
)
Agents
Agents
Actions
Actions
Projects
Projects
Wiki
Wiki
Security and quality (20)
Security and quality
(
20
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20574: panorama pdf add header section #467 Edit title
JY-20574: panorama pdf add header section
#
467
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
Lines changed: 128 additions & 6 deletions
Conversation (1)
Conversation
(
1
)
Commits (14)
Commits
(
14
)
Checks (3)
Checks
(
3
)
Files changed (5)
Files changed
(
5
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
JY-20574: panorama pdf add header section
JY-20574: panorama pdf add header section
#
467
All commits
All commits
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
4
/
5
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
src
component/ask_anything
streamers
filtered_calls_ask_anything_streamer.py
filtered_calls_ask_anything_streamer.py
async_aa_report_processor.py
async_aa_report_processor.py
main.py
main.py
tests/component/ask_anything
streamers
test_filtered_calls_get_report_content.py
test_filtered_calls_get_report_content.py
test_async_aa_report_processor.py
test_async_aa_report_processor.py
Collapse file
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Copy file name to clipboard
Expand all lines: src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Lines changed: 41 additions & 3 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -103,6 +103,10 @@ def __init__(
103
# consumed in _process_single_batch (after the raw response is logged).
103
# consumed in _process_single_batch (after the raw response is logged).
104
self
....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"PRO","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRO","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukas","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Where should we start?","depth":22,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Where should we start?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🖼️ Create image, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🖼️ Create image","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🎸 Create music, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🎸 Create music","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help me learn, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help me learn","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Write anything, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Write anything","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Boost my day, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boost my day","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":20,"value":"review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Send message","depth":19,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Skip to content","depth":6,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"prophet","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"prophet","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Issues","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (6)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Projects","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Projects","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (20)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY-20574: panorama pdf add header section #467 Edit title","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY-20574: panorama pdf add header section","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"467","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Preview","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preview","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"steliyan-g","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"steliyan-g","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 14 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20674-panorama-pdf-add-header-section","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20674-panorama-pdf-add-header-section","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 128 additions & 6 deletions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (1)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Conversation","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (14)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (5)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Files changed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Pull Request Toolbar","depth":14,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pull Request Toolbar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file tree","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Open","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20574: panorama pdf add header section","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20574: panorama pdf add header section","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"467","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"All commits","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All commits","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"steliyan-g","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"steliyan-g","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 14 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20674-panorama-pdf-add-header-section","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20674-panorama-pdf-add-header-section","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"4","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"viewed","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Submit review","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Submit","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"review","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open diff view settings","depth":14,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open overview panel","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open comments panel","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"(","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Filter files…","depth":16,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Filter options","depth":16,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"File tree","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File tree","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"src","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"component/ask_anything","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"streamers","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"filtered_calls_ask_anything_streamer.py","depth":25,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"filtered_calls_ask_anything_streamer.py","depth":26,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"async_aa_report_processor.py","depth":23,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"async_aa_report_processor.py","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"main.py","depth":21,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"main.py","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tests/component/ask_anything","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"streamers","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"test_filtered_calls_get_report_content.py","depth":23,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"test_filtered_calls_get_report_content.py","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"test_async_aa_report_processor.py","depth":21,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"test_async_aa_report_processor.py","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":16,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy file name to clipboard","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Expand all lines: src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":15,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 41 additions & 3 deletions","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Not Viewed","depth":14,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Viewed","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Comment on this file","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More options","depth":14,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Original file line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line change","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@@ -103,6 +103,10 @@ def __init__(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"# consumed in _process_single_batch (after the raw response is logged).","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"# consumed in _process_single_batch (after the raw response is logged).","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"104","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"self","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8394088572417657557
|
-7838672310624523066
|
idle
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
PRO
PRO
Conversation with Gemini
Conversation with Gemini
Hi Lukas
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Help me learn, button, tap to use tool
Help me learn
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Open upload file menu
Tools
Open mode picker
Pro
Send message
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
prophet
prophet
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Issues
Issues
Pull requests (6)
Pull requests
(
6
)
Agents
Agents
Actions
Actions
Projects
Projects
Wiki
Wiki
Security and quality (20)
Security and quality
(
20
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20574: panorama pdf add header section #467 Edit title
JY-20574: panorama pdf add header section
#
467
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
Lines changed: 128 additions & 6 deletions
Conversation (1)
Conversation
(
1
)
Commits (14)
Commits
(
14
)
Checks (3)
Checks
(
3
)
Files changed (5)
Files changed
(
5
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
JY-20574: panorama pdf add header section
JY-20574: panorama pdf add header section
#
467
All commits
All commits
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
4
/
5
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
src
component/ask_anything
streamers
filtered_calls_ask_anything_streamer.py
filtered_calls_ask_anything_streamer.py
async_aa_report_processor.py
async_aa_report_processor.py
main.py
main.py
tests/component/ask_anything
streamers
test_filtered_calls_get_report_content.py
test_filtered_calls_get_report_content.py
test_async_aa_report_processor.py
test_async_aa_report_processor.py
Collapse file
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Copy file name to clipboard
Expand all lines: src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Lines changed: 41 additions & 3 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -103,6 +103,10 @@ def __init__(
103
# consumed in _process_single_batch (after the raw response is logged).
103
# consumed in _process_single_batch (after the raw response is logged).
104
self
....
|
NULL
|
|
9143
|
NULL
|
0
|
2026-04-14T07:20:37.145654+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776151237145_m2.jpg...
|
Firefox
|
JY-20574: panorama pdf add header section by steli JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet — Work...
|
True
|
github.com/jiminny/prophet/pull/467/changes#diff-2 github.com/jiminny/prophet/pull/467/changes#diff-2e5ad92c43aa96cc3a9cef6c6aec998b216f1379c43b1f651013d25e55989312...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
PRO
PRO
Conversation with Gemini
Conversation with Gemini
Hi Lukas
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Help me learn, button, tap to use tool
Help me learn
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Open upload file menu
Tools
Open mode picker
Pro
Send message
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
prophet
prophet
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Issues
Issues
Pull requests (6)
Pull requests
(
6
)
Agents
Agents
Actions
Actions
Projects
Projects
Wiki
Wiki
Security and quality (20)
Security and quality
(
20
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20574: panorama pdf add header section #467 Edit title
JY-20574: panorama pdf add header section
#
467
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
Lines changed: 128 additions & 6 deletions
Conversation (1)
Conversation
(
1
)
Commits (14)
Commits
(
14
)
Checks (3)
Checks
(
3
)
Files changed (5)
Files changed
(
5
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
JY-20574: panorama pdf add header section
JY-20574: panorama pdf add header section
#
467
All commits
All commits
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
4
/
5
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
src
component/ask_anything
streamers
filtered_calls_ask_anything_streamer.py
filtered_calls_ask_anything_streamer.py
async_aa_report_processor.py
async_aa_report_processor.py
main.py
main.py
tests/component/ask_anything
streamers
test_filtered_calls_get_report_content.py
test_filtered_calls_get_report_content.py
test_async_aa_report_processor.py
test_async_aa_report_processor.py
Collapse file
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Copy file name to clipboard
Expand all lines: src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Lines changed: 41 additions & 3 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -103,6 +103,10 @@ def __init__(
103
# consumed in _process_single_batch (after the raw response is logged).
103
# consumed in _process_single_batch (after the raw response is logged).
104
self
.
_pending_expected_titles
:
dict
[
frozenset
[
str
],
dict
[
str
,
str
]]...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"bounds":{"left":0.00234375,"top":0.045138888,"width":0.0890625,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.08263889,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.015625,"top":0.09236111,"width":0.11796875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.11111111,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.12083333,"width":0.23476562,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.13958333,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet","depth":5,"bounds":{"left":0.015625,"top":0.14930555,"width":0.1984375,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.0,"top":0.16805555,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.015625,"top":0.17777778,"width":0.015625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":4,"bounds":{"left":0.0,"top":0.19652778,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf","depth":5,"bounds":{"left":0.015625,"top":0.20625,"width":0.1640625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"bounds":{"left":0.0,"top":0.225,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"bounds":{"left":0.015625,"top":0.23472223,"width":0.12617187,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2534722,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.26319444,"width":0.18710938,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet","depth":4,"bounds":{"left":0.0,"top":0.28194445,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet","depth":5,"bounds":{"left":0.015625,"top":0.29166666,"width":0.19570312,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.07890625,"top":0.28819445,"width":0.009375,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.003125,"top":0.31180555,"width":0.08710937,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.003125,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.01640625,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.029296875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0421875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.05546875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.2171875,"top":0.047916666,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.23125,"top":0.047916666,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.228125,"top":0.090277776,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.0984375,"top":0.090277776,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.1140625,"top":0.09097222,"width":0.03359375,"height":0.02638889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1171875,"top":0.09513889,"width":0.02578125,"height":0.018055556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"PRO","depth":11,"bounds":{"left":0.20820312,"top":0.09583333,"width":0.017578125,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PRO","depth":13,"bounds":{"left":0.21132812,"top":0.09791667,"width":0.011328125,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.09335937,"top":0.12847222,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.09335937,"top":0.13055556,"width":0.14101562,"height":0.022222223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukas","depth":23,"bounds":{"left":0.1015625,"top":0.19166666,"width":0.0328125,"height":0.02013889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Where should we start?","depth":22,"bounds":{"left":0.1015625,"top":0.21111111,"width":0.140625,"height":0.06111111},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Where should we start?","depth":24,"bounds":{"left":0.1015625,"top":0.21041666,"width":0.10664062,"height":0.0625},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🖼️ Create image, button, tap to use tool","depth":22,"bounds":{"left":0.1015625,"top":0.2888889,"width":0.06015625,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🖼️ Create image","depth":24,"bounds":{"left":0.1078125,"top":0.2986111,"width":0.04765625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🎸 Create music, button, tap to use tool","depth":22,"bounds":{"left":0.1015625,"top":0.32777777,"width":0.059375,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🎸 Create music","depth":24,"bounds":{"left":0.1078125,"top":0.3375,"width":0.046875,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help me learn, button, tap to use tool","depth":22,"bounds":{"left":0.1015625,"top":0.36666667,"width":0.051953126,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help me learn","depth":24,"bounds":{"left":0.1078125,"top":0.37638888,"width":0.039453126,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Write anything, button, tap to use tool","depth":22,"bounds":{"left":0.1015625,"top":0.40555555,"width":0.053515624,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Write anything","depth":24,"bounds":{"left":0.1078125,"top":0.41527778,"width":0.041015625,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Boost my day, button, tap to use tool","depth":22,"bounds":{"left":0.1015625,"top":0.44444445,"width":0.05078125,"height":0.033333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boost my day","depth":24,"bounds":{"left":0.1078125,"top":0.45416668,"width":0.03828125,"height":0.014583333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":20,"bounds":{"left":0.109375,"top":0.84375,"width":0.125,"height":0.05},"value":"review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":22,"bounds":{"left":0.109375,"top":0.8451389,"width":0.1125,"height":0.047916666},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.1046875,"top":0.90694445,"width":0.015625,"height":0.027777778},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.1234375,"top":0.90694445,"width":0.015625,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.190625,"top":0.90625,"width":0.03046875,"height":0.027777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.196875,"top":0.9138889,"width":0.00859375,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Send message","depth":19,"bounds":{"left":0.22265625,"top":0.90555555,"width":0.01640625,"height":0.029166667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.1,"top":0.96319443,"width":0.06289063,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.10664062,"top":0.9673611,"width":0.049609374,"height":0.013888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Skip to content","depth":6,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"prophet","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"prophet","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Issues","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (6)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Projects","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Projects","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (20)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY-20574: panorama pdf add header section #467 Edit title","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY-20574: panorama pdf add header section","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"467","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Preview","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preview","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"steliyan-g","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"steliyan-g","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 14 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20674-panorama-pdf-add-header-section","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20674-panorama-pdf-add-header-section","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 128 additions & 6 deletions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (1)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Conversation","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (14)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (5)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Files changed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Pull Request Toolbar","depth":14,"bounds":{"left":0.265625,"top":0.065972224,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pull Request Toolbar","depth":15,"bounds":{"left":0.265625,"top":0.068055555,"width":0.03515625,"height":0.07083333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file tree","depth":14,"bounds":{"left":0.265625,"top":0.056944445,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.2921875,"top":0.060416665,"width":0.0140625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20574: panorama pdf add header section","depth":14,"bounds":{"left":0.3140625,"top":0.050694443,"width":0.11796875,"height":0.014583333},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20574: panorama pdf add header section","depth":16,"bounds":{"left":0.3140625,"top":0.052083332,"width":0.11796875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"bounds":{"left":0.43515626,"top":0.052083332,"width":0.003515625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"467","depth":15,"bounds":{"left":0.4386719,"top":0.052083332,"width":0.009765625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"All commits","depth":14,"bounds":{"left":0.3109375,"top":0.0625,"width":0.03984375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All commits","depth":16,"bounds":{"left":0.31445312,"top":0.06736111,"width":0.0265625,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"steliyan-g","depth":15,"bounds":{"left":0.35585937,"top":0.065972224,"width":0.023046875,"height":0.0125},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"steliyan-g","depth":16,"bounds":{"left":0.35585937,"top":0.06736111,"width":0.023046875,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 14 commits into","depth":15,"bounds":{"left":0.38046876,"top":0.06736111,"width":0.0703125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"bounds":{"left":0.45234376,"top":0.06458333,"width":0.021484375,"height":0.015277778},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"bounds":{"left":0.4546875,"top":0.06736111,"width":0.016796876,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"bounds":{"left":0.4753906,"top":0.06736111,"width":0.010546875,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20674-panorama-pdf-add-header-section","depth":16,"bounds":{"left":0.4875,"top":0.06458333,"width":0.1171875,"height":0.015277778},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20674-panorama-pdf-add-header-section","depth":17,"bounds":{"left":0.48984376,"top":0.06736111,"width":0.1125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"bounds":{"left":0.60625,"top":0.0625,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"4","depth":15,"bounds":{"left":0.78515625,"top":0.06111111,"width":0.003125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":15,"bounds":{"left":0.78828126,"top":0.06111111,"width":0.002734375,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":15,"bounds":{"left":0.7921875,"top":0.06111111,"width":0.003125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"viewed","depth":15,"bounds":{"left":0.79648435,"top":0.06111111,"width":0.015625,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":14,"bounds":{"left":0.821875,"top":0.056944445,"width":0.0546875,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":16,"bounds":{"left":0.83320314,"top":0.06111111,"width":0.03984375,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Submit review","depth":14,"bounds":{"left":0.8796875,"top":0.056944445,"width":0.0453125,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Submit","depth":16,"bounds":{"left":0.88320315,"top":0.06111111,"width":0.0171875,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"review","depth":16,"bounds":{"left":0.9003906,"top":0.06111111,"width":0.01484375,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open diff view settings","depth":14,"bounds":{"left":0.928125,"top":0.056944445,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open overview panel","depth":14,"bounds":{"left":0.9488281,"top":0.056944445,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open comments panel","depth":14,"bounds":{"left":0.96132815,"top":0.056944445,"width":0.0203125,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"(","depth":16,"bounds":{"left":0.9710938,"top":0.06111111,"width":0.003125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"bounds":{"left":0.9742187,"top":0.06111111,"width":0.003125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":16,"bounds":{"left":0.97734374,"top":0.06111111,"width":0.001953125,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Filter files…","depth":16,"bounds":{"left":0.27890626,"top":0.09861111,"width":0.080078125,"height":0.020833334},"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Filter options","depth":16,"bounds":{"left":0.3625,"top":0.09791667,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"File tree","depth":15,"bounds":{"left":0.26601562,"top":0.13125,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File tree","depth":16,"bounds":{"left":0.26601562,"top":0.13333334,"width":0.016796876,"height":0.045833334},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"src","depth":19,"bounds":{"left":0.28476563,"top":0.13680555,"width":0.0078125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"component/ask_anything","depth":21,"bounds":{"left":0.2878906,"top":0.15902779,"width":0.06367187,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"streamers","depth":23,"bounds":{"left":0.29101562,"top":0.18125,"width":0.025390625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"filtered_calls_ask_anything_streamer.py","depth":25,"bounds":{"left":0.29414064,"top":0.20347223,"width":0.1015625,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"filtered_calls_ask_anything_streamer.py","depth":26,"bounds":{"left":0.29414064,"top":0.20347223,"width":0.1015625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"async_aa_report_processor.py","depth":23,"bounds":{"left":0.29101562,"top":0.22569445,"width":0.078125,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"async_aa_report_processor.py","depth":24,"bounds":{"left":0.29101562,"top":0.22569445,"width":0.078125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"main.py","depth":21,"bounds":{"left":0.2878906,"top":0.24791667,"width":0.019921875,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"main.py","depth":22,"bounds":{"left":0.2878906,"top":0.24791667,"width":0.019921875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tests/component/ask_anything","depth":19,"bounds":{"left":0.28476563,"top":0.2701389,"width":0.07773437,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"streamers","depth":21,"bounds":{"left":0.2878906,"top":0.29305556,"width":0.025390625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"test_filtered_calls_get_report_content.py","depth":23,"bounds":{"left":0.29101562,"top":0.31527779,"width":0.1046875,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"test_filtered_calls_get_report_content.py","depth":24,"bounds":{"left":0.29101562,"top":0.31527779,"width":0.1046875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"test_async_aa_report_processor.py","depth":21,"bounds":{"left":0.2878906,"top":0.3375,"width":0.090625,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"test_async_aa_report_processor.py","depth":22,"bounds":{"left":0.2878906,"top":0.3375,"width":0.090625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file","depth":14,"bounds":{"left":0.39140624,"top":0.090277776,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":15,"bounds":{"left":0.40390626,"top":0.093055554,"width":0.2140625,"height":0.014583333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":16,"bounds":{"left":0.40390626,"top":0.094444446,"width":0.2140625,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":18,"bounds":{"left":0.40390626,"top":0.09583333,"width":0.2140625,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy file name to clipboard","depth":15,"bounds":{"left":0.62109375,"top":0.090277776,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Expand all lines: src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py","depth":15,"bounds":{"left":0.63203126,"top":0.090277776,"width":0.0109375,"height":0.019444445},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 41 additions & 3 deletions","depth":15,"bounds":{"left":0.8808594,"top":0.10138889,"width":0.0234375,"height":0.099305555},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Not Viewed","depth":14,"bounds":{"left":0.91875,"top":0.090277776,"width":0.03125,"height":0.019444445},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Viewed","depth":16,"bounds":{"left":0.93007815,"top":0.09513889,"width":0.01640625,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Comment on this file","depth":14,"bounds":{"left":0.953125,"top":0.090277776,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More options","depth":14,"bounds":{"left":0.9671875,"top":0.090277776,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Original file line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line change","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@@ -103,6 +103,10 @@ def __init__(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"# consumed in _process_single_batch (after the raw response is logged).","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"# consumed in _process_single_batch (after the raw response is logged).","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"104","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"self","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"_pending_expected_titles","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dict","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"frozenset","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"str","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"],","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dict","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"str","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"str","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]]","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
640676528164227246
|
-7838672310624490298
|
visual_change
|
accessibility
|
NULL
|
JY-20543 add AJ reports User pilot tracking by Lak JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 1 Q2 - Platform Team - Scrum Board - Jira
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
SRD-6779 | JY-20632 | Unable to log in to Sidekick with SSO by yalokin-jiminny · Pull Request #11935 · jiminny/app
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jy 19798 evaluation for ai activity types by nikolaybiaivanov · Pull Request #468 · jiminny/prophet
Jiminny
Jiminny
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Ask Jiminny test report - 8 Apr 2026 - Ask Jiminny test report - 13 Apr 2026.pdf
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
JY-20574: panorama pdf add header section by steliyan-g · Pull Request #467 · jiminny/prophet
Close tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
PRO
PRO
Conversation with Gemini
Conversation with Gemini
Hi Lukas
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Help me learn, button, tap to use tool
Help me learn
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
review src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Open upload file menu
Tools
Open mode picker
Pro
Send message
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
prophet
prophet
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Issues
Issues
Pull requests (6)
Pull requests
(
6
)
Agents
Agents
Actions
Actions
Projects
Projects
Wiki
Wiki
Security and quality (20)
Security and quality
(
20
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20574: panorama pdf add header section #467 Edit title
JY-20574: panorama pdf add header section
#
467
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
Lines changed: 128 additions & 6 deletions
Conversation (1)
Conversation
(
1
)
Commits (14)
Commits
(
14
)
Checks (3)
Checks
(
3
)
Files changed (5)
Files changed
(
5
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
JY-20574: panorama pdf add header section
JY-20574: panorama pdf add header section
#
467
All commits
All commits
steliyan-g
steliyan-g
wants to merge 14 commits into
master
master
from
JY-20674-panorama-pdf-add-header-section
JY-20674-panorama-pdf-add-header-section
Copy head branch name to clipboard
4
/
5
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
src
component/ask_anything
streamers
filtered_calls_ask_anything_streamer.py
filtered_calls_ask_anything_streamer.py
async_aa_report_processor.py
async_aa_report_processor.py
main.py
main.py
tests/component/ask_anything
streamers
test_filtered_calls_get_report_content.py
test_filtered_calls_get_report_content.py
test_async_aa_report_processor.py
test_async_aa_report_processor.py
Collapse file
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Copy file name to clipboard
Expand all lines: src/component/ask_anything/streamers/filtered_calls_ask_anything_streamer.py
Lines changed: 41 additions & 3 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -103,6 +103,10 @@ def __init__(
103
# consumed in _process_single_batch (after the raw response is logged).
103
# consumed in _process_single_batch (after the raw response is logged).
104
self
.
_pending_expected_titles
:
dict
[
frozenset
[
str
],
dict
[
str
,
str
]]...
|
NULL
|